2013-02-08 2 views
1

줄무늬를 사용하고 있습니다. 내 Action bean은 id (String)와 quantity (int)를 가진 HashMap을 가지고있다. JSP에서 Form의 id와 수량을 HashMap에 매핑하여 양식의 모든 ID와 수량을 HashMap에 '넣습니다'. 어떻게해야합니까? 는 JSP에ActionBean의 HashMap과 JSP의 폼을 매핑하는 방법은 무엇입니까?

private Map<String, Integer> productVariantMap = new HashMap<String, Integer>(); 

- - (getter 및 setter 포함)하는 ActionBean에서

-

나는 같은 짓을

<s:useActionBean 
beanclass="com.hk.web.action.core.b2b.B2BAddToCartAction" var="atc"/> 
<s:useActionBean> 

을 나는의 값을 따기입니다 루프를 통해 onsubmit하고 값을 넣는 것과 같이

${atc:productVariantMap.put(id, quantity)}; 
or 
$(atc.productVariantMap.put(id,quantity)}; 

이 모든 작업이 없습니다. 필자의 요구 사항에 따라 HashMap을 매핑하거나이 값을 추가하는 방법을 제안한다. 감사합니다. .

답변

2

이것은 the documentation에 설명되어 있습니다. 액션 빈에서 맵에 대한 getter와 setter를 가져오고, productVariantMap['foo'] (foo가 맵의 키임)과 같은 HTML 폼의 입력 필드가 있어야합니다.

그래서 예를 들어, 키 "bar"의 키 "foo" 1로지도를 채 웁니다 다음 입력 필드를 포함하는 형태로, 2 :

<input type="text" name="productVariantMap['foo']" value="1"/> 
<input type="text" name="productVariantMap['bar']" value="2"/> 
+0

이 사실 나는에서 모두 키와 값 저장해야 형태. 그래서,이 foo와 bar는 가질 수 없습니다. 어떻게 그럴 수 있니? put 함수를 사용하여 키와 값을 Map에 넣어야합니다. 그 값은 폼을 통해 전달됩니다. 당신이 제안 할 수있는 대안 접근법은 무엇입니까? –

+0

자세히 설명해주십시오. 폼은 어떻게 생겼을까요? 사용자가 키와 값을 어떻게 입력합니까? –

+0

나는 각 행에 입력해야 할 productId와 수량이있는 테이블을 가지고 있으며 모든 것을 맵에 저장하려고합니다. 그래서 put (id, qty)를 호출하고 추가해야합니다. 이제 당신이 제안한 것을 통해 그것을 할 수 있습니까? –

관련 문제