This problem because I'm using iterator iterative output today is worth the time to discover the use of single character
<table border= "1" width= ">
<s:iterator var=" BB "value=" {
' 1 ', ' 2 ', ' 3 ', ' 4 ', ' 5 '} '
>
<tr>
<td><s:property value= "BB"/></td>
</tr>
</s:iterator>
Java.lang.ClassCastException:java.lang.Character cannot be cast to java.lang.String
At Org.apache.struts2.components.Property.start (property.java:159)
At Org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag (componenttagsupport.java:53)
At Org.apache.jsp.s_002diterator_002dlist_jsp._jspx_meth_s_005fproperty_005f0 (S_002diterator_002dlist_jsp.java : 173)
At Org.apache.jsp.s_002diterator_002dlist_jsp._jspx_meth_s_005fiterator_005f0 (S_002diterator_002dlist_jsp.java : 142)
At Org.apache.jsp.s_002diterator_002dlist_jsp._jspservice (s_002diterator_002dlist_jsp.java:80)
At Org.apache.jasper.runtime.HttpJspBase.service (httpjspbase.java:70)
At Javax.servlet.http.HttpServlet.service (httpservlet.java:717)
At Org.apache.jasper.servlet.JspServletWrapper.service (jspservletwrapper.java:386)
At Org.apache.jasper.servlet.JspServlet.serviceJspFile (jspservlet.java:313)
At Org.apache.jasper.servlet.JspServlet.service (jspservlet.java:260)
At Javax.servlet.http.HttpServlet.service (httpservlet.java:717)
At Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:290)
At Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:206)
At Org.apache.struts2.dispatcher.FilterDispatcher.doFilter (filterdispatcher.java:426)
At Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:235)
At Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:206)
At Org.apache.catalina.core.StandardWrapperValve.invoke (standardwrappervalve.java:233)
At Org.apache.catalina.core.StandardContextValve.invoke (standardcontextvalve.java:191)
At Org.apache.catalina.core.StandardHostValve.invoke (standardhostvalve.java:127)
At Org.apache.catalina.valves.ErrorReportValve.invoke (errorreportvalve.java:102)
At Org.apache.catalina.core.StandardEngineValve.invoke (standardenginevalve.java:109)
At Org.apache.catalina.connector.CoyoteAdapter.service (coyoteadapter.java:298)
At Org.apache.coyote.http11.Http11Processor.process (http11processor.java:859)
At Org.apache.coyote.http11.http11protocol$http11connectionhandler.process (http11protocol.java:588)
At Org.apache.tomcat.util.net.jioendpoint$worker.run (jioendpoint.java:489)
At Java.lang.Thread.run (thread.java:722)
If we write an array element, we use a single character such as A, B, C, D, E, F, G, and so on.
Solutions:
1, the use of double quotes, the outer layer into single quotes
<s:iterator var= "BB" value= ' {
1 "," 2 "," 3 "
} ' >
<tr>
<td><s:property value= ' bb "/></td>
</tr>
</s:iterator>
2, in the real content where the value variable object +#
<s:iterator var= "BB" value= "{
' a ', ' B '
}" >
<tr>
<td><s:property value= "#bb" ></td>
</tr>
</s:iterator>
3. Use system default
<s:iterator var= "BB" value= "{
' a ', ' B '
}" >
<tr>
<td><s:property/></td >
</tr>
</s:iterator>
Reference URL:
http://blog.csdn.net/chch010520/article/details/7423143