JSP页面没有填充与<html:select> <html:option> </html:option> </html:select>关联的formBean属性

时间:2011-09-29 11:17:47

标签: java jsp struts

<html:select property="fileLocation">
  <%
    ArrayList uploadLocationLookUp = null;
    uploadLocationLookUp = (ArrayList) request.getSession().getAttribute("uploadLocation");
    if (uploadLocationLookUp.size() != 0) {
        for (int i = 0; i < uploadLocationLookUp.size(); i++) {
            LookUpBean lookUpBeanItems = (LookUpBean) uploadLocationLookUp.get(i);
  %>
    <html:option value="<%=lookUpBeanItems.getLookUpCode()%>">
      <%= lookUpBeanItems.getLookUpCode() %>
    </html:option>
  <% }} %>
</html:select>

我正在使用LookUpBean来填充select标签中的选项,该选项与具有属性fileLocation的formBean相关联。

虽然所有其他属性都在formBean中填充属性,但这个属性不是。我也尝试在我的动作类中使用request.getParameter(“fileLocation”)来实现它但它不会工作。

任何人都能看到这段代码并指出可能错过的任何愚蠢的错误吗?我可能遇到过其他方面/问题吗?快速反应会很有帮助。感谢


有效:) 不知道为什么:(

我所做的只是重构我的代码并重新排列表单上的输入元素。一旦我将流氓<html:select>放在我的jsp上的一段java代码之后,它就像一个魅力。在重新安排我的表单元素之后,任何人都可以指出我做错了什么以及为什么它有用吗?

1 个答案:

答案 0 :(得分:0)

我认为此代码没有明显错误,前提是fileLocationlookUpCode属性都是字符串。

一个提示,您应该能够使用html:options标记来消除scriptlet代码:

<html:select property="fileLocation">
    <html:options collection="uploadLocation" property="lookUpCode" labelProperty=""lookUpCode"/>
</html:select>