struts中的下拉框问题

guanwei10 2009-08-04 11:33:01
各位高手大大们:
小弟在做个用户信息添加,里边有个区域选择这个下拉框,这个下拉框我是动态从另一张表中得到的数据
现在的问题是 我能够显示用户添加页面 而且也能在下拉框中得到 区域的信息
但是 只要我一点确定按钮 他就报错了!

我给出form的属性

private AreaBaseInfo areaBaseInfo;


JSP


<html:select property="areaBaseInfo">
<logic:present name="areaList">
<html:options collection="areaList" labelProperty="areaName" property="areaId"/>
</logic:present>
</html:select>


错误信息

严重: Servlet.service() for servlet action threw exception
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2155)
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2141)
at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1948)
at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2054)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1015)
at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Unknown Source)


...全文
125 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cbdhxka 2009-08-04
  • 打赏
  • 举报
回复
private AreaBaseInfo areaBaseInfo;
改为private String areaBaseInfo;


gukuitian 2009-08-04
  • 打赏
  • 举报
回复
private String areaBaseInfo;
xiaojing_tkgame 2009-08-04
  • 打赏
  • 举报
回复
private AreaBaseInfo areaBaseInfo;


<html:select property="areaBaseInfo">
<logic:present name="areaList">
<html:options collection="areaList" labelProperty="areaName" property="areaId"/>
</logic:present>
</html:select>


你要选择的类型不匹配,选择的应该是string类型的

老张-AI 2009-08-04
  • 打赏
  • 举报
回复

<html:select property="file.joy.joyId" style="width: 200px">
<html:options collection="joyList" labelProperty="joyName" property="joyId"/>
</html:select>


给你个例子
用这个标签
vincent201201 2009-08-04
  • 打赏
  • 举报
回复

<html:select name="xxxForm" property="areaBaseInfo">
<html:options collection="areaList" property="areaId" labelProperty="areaName"/>
</html:select>

试试
qjlsharp 2009-08-04
  • 打赏
  • 举报
回复
错误原因:jsp页面中表单标记库类型与form表单的enctype属性值不匹配。
解决方法:设置正确的enctype属性值。
guanwei10 2009-08-04
  • 打赏
  • 举报
回复
没人。。。
gukuitian 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 guanwei10 的回复:]
引用 5 楼 xiaojing_tkgame 的回复:
private AreaBaseInfo areaBaseInfo;


<html:select property="areaBaseInfo.areaId">
                  <logic:present name="areaList">
                      <html:options collection="areaList" labelProperty="areaName" property="areaId"/>
                  </logic:present>
              </html:select>

你要选择的类型不匹配,选择的应该是string类型的areaBaseInfo在action的时候怎么赋值啊



我这个是实体类呀,要是String的那么
[/Quote]
改下看看
guanwei10 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xiaojing_tkgame 的回复:]
private AreaBaseInfo areaBaseInfo;


<html:select property="areaBaseInfo">
                  <logic:present name="areaList">
                      <html:options collection="areaList" labelProperty="areaName" property="areaId"/>
                  </logic:present>
              </html:select>

你要选择的类型不匹配,选择的应该是string类型的areaBaseInfo在action的时候怎么赋值啊


[/Quote]
我这个是实体类呀,要是String的那么

81,114

社区成员

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

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