html:radio动态生成property问题

gddennis 2009-05-31 03:27:51
struts-config.xml中

<form-bean name="testForm" type="org.apache.struts.validator.DynaValidatorActionForm">
<form-property name="radioList" type="java.lang.String[]"/>
</form-bean>


jsp中

<html:form action="/userInvest.do">
<logic:iterate id="question" collection="${invest.questions}" indexId="index">
${index+1}.${question.questionName}<br/>
<logic:iterate id="answer" collection="${question.answers}">
<html:radio property="radioList[index]" value="${answer.answerId}">${answer.answerName}</html:radio>      
</logic:iterate>
</logic:iterate>
</html:form>


我想在动态生成html:radio时让property对应form-bean中的数组radioList,可是试了很多次都不行(radioList[${index]}也不行),请高手指教啊
...全文
114 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gddennis 2009-05-31
  • 打赏
  • 举报
回复
在查阅了一些资料以后,我使用了Map-backed ActionForm

public class RadiosForm extends ActionForm {

private final Map values = new HashMap();

public void setValue(String key, Object value) {
values.put(key, value);
}

public Object getValue(String key) {
return values.get(key);
}
}


XML中:

<form-bean name="testForm" type="org.apache.struts.action.ActionFormBean">
<form-property name="radioList" type="com.myapp.form.RadiosForm"/>
</form-bean>


jsp中:

<html:form action="/userInvest.do">
<logic:iterate id="question" collection="${invest.questions}" indexId="index">
${index+1}.${question.questionName}<br/>
<logic:iterate id="answer" collection="${question.answers}">
<html:radio property='<%="value("+index+");"%>' value="${answer.answerId}">${answer.answerName}</html:radio>      
</logic:iterate>
<br/><br/>
</logic:iterate>
</html:form>


网上看有人说property='<%="value("+index+");"%>'就可以了,可是我这样写编译器却提示:
运算符 + 不能应用与java.lang.String,index
找不到符号
符号:变量 index
位置:类SimplifiedJSPServlet

这是怎么回事啊?请高手指教一下啊

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧