如何将radiobutton选中的对象传递给struts2动作

时间:2012-04-01 06:38:53

标签: java java-ee struts2

这是我的收音机与迭代器

<form action="<s:url action="s/postCreation"/>" method="post">
    <s:iterator value="categories">
        <s:radio name="myCategory" list="{Category}" listKey="DBId" listValue="title"/><br/>
    </s:iterator>
<s:submit>submit</s:submit>

其中categories是我的struts Action类中的一个属性:(已将我转发到此jsp页面):

private List<Category> categories;

listKeylistValue包含Category类的值:

public class Category  {

    private static final long serialVersionUID = 1L;
    private static Logger logger = Logger.getLogger(Category.class);
    private long DBId;
    private String title;

}

现在我希望能够将选定的类别对象(而不仅仅是DBId值)发送到postCreation struts2动作类,并将其存储在名为

的属性中
private Category myCategory;

2 个答案:

答案 0 :(得分:1)

不容易解决。

我会用一点JavaScript来解决这个问题。在<form>....</form>内,我会写:

<s:hidden name="myCategory.title" id="hiddenTilteProperty" />  
<s:iterator value="Category">
    <input type="radio" 
       onClick="document.getElementById('hiddenTilteProperty').value = '<s:property value="title" />';"
       name="myCategory.DBId"
       value='<s:property value="DBId" />'
     />
<s:property value="title" /> <!-- This will act as label -->
<br/>
</s:iterator>

答案 1 :(得分:-1)

<form action="yourActionName" method="post" namespace="/ifYouWantChangeNamespace">