Note that there are some explanatory texts on larger screens.

plurals
  1. POStruts html:select dropdown population error saying attribute property is mandatory
    text
    copied!<p>Im using struts 1.1 in a application where i need to populate a drop down from database values and i am set it to the form bean from in my action which display the below jsp. </p> <pre><code>&lt;td width="80%" class="formfield" valign='top'&gt; &lt;html:select property="selectedUsedByUserName"&gt; &lt;html:option value="" &gt;-&lt;/html:option&gt; &lt;html:optionsCollection property="usedByUserList" label="name" value="staffNo"/&gt; &lt;/html:select&gt; &lt;/td&gt; </code></pre> <p>And in the form bean i have use below getters and setters,</p> <pre><code>private UserDTO selectedUsedByUser = null; private HashMap usedByUserListMap = new HashMap(); public UserDTO[] getUsedByUserList() { return (UserDTO[]) usedByUserListMap.values().toArray(new UserDTO[0]); } public void setUsedByUserList(UserDTO[] usedByUserList) { usedByUserListMap.clear(); if (usedByUserList != null) { for (int i = 0; i &lt; usedByUserList.length; i++) { usedByUserListMap.put( String.valueOf(usedByUserList[i].getStaffNo()), usedByUserList[i]); } } } public String getSelectedUsedByUserName() { String selectedUsedByUserName = null; UserDTO tempSelectedUsedByUser = getSelectedUsedByUser(); if (tempSelectedUsedByUser != null) { selectedUsedByUserName = String.valueOf(tempSelectedUsedByUser .getStaffNo()); } return selectedUsedByUserName; } public void setSelectedUsedByUserName(String string) { UserDTO tempSelectedUsedByUserName = null; if (string != null) { tempSelectedUsedByUserName = (UserDTO) usedByUserListMap .get(string); } setSelectedUsedByUser(tempSelectedUsedByUserName); } public UserDTO getSelectedUsedByUser() { return selectedUsedByUser; } public void setSelectedUsedByUser(UserDTO usedByUser) { this.selectedUsedByUser = usedByUser; } </code></pre> <p>But when i print the stack trace of the exception, i see below. What is the reason for this exception please,</p> <blockquote> <p>According to the TLD or the tag file, attribute property is mandatory for tag select at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:78) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:373) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:201) at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:833) at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1501) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2291) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2341) at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870) at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1501) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2291) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2341) at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2347) at org.apache.jasper.compiler.Node$Root.accept(Node.java:498) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2291) at org.apache.jasper.compiler.Validator.validate(Validator.java:1853) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:435) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:360) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.ApplicationFilterChain.servletService</p> </blockquote> <p>I have already set the attribute property in the jsp select tag. Do we need to set it to a value before the jsp loads. I belive we use it to track the option selected after the drop down in populate right? So once we select a value struts will set the selected value right?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload