logic:iterate
を使用してコレクションを繰り返し処理するjspページがあり、各アイテムにhtml:form
が表示されます。 これは動作しますが、これらのフォームの1つを送信するたびにページがリロードされるたびに、残りのフォームはすべて最後に挿入された値で埋められます。 おそらく何かがセッションに残っていて、フォームがすべて同じタイプなので、それらはすべてあらかじめ用意されています。Struts - <logic:iterate>内に<html:form>を提出します
これは私のjspである:
<%@ page language="java"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<html>
<body>
<html:img action="/viewMedia.do?method=viewImageThumb" paramId="idImage"
paramName="image" paramProperty="idImage" />
<logic:iterate name="regions" id="region">
<p>
<html:img action="/viewMedia.do?method=viewRegion" paramId="idRegion" paramName="region" paramProperty="idRegion" />
<logic:notPresent name="region" property="person">
<html:form action="/AssignRegion.do" >
<html:text property="name" />
<html:text property="surname" />
<html:checkbox property="usedForTraining" />
<html:hidden property="idRegion" name="region" />
<html:hidden property="idImage" name="region"/>
<html:submit />
<html:cancel />
</html:form>
</logic:notPresent>
<logic:present name="region" property="person">
<bean:write name="region" property="person.name"/>
<bean:write name="region" property="person.surname"/>
</logic:present>
</p>
</logic:iterate>
</body>
</html>
私はこの問題を回避するにはどうすればよいですか?