`
lfq618
  • 浏览: 85308 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Form表单提交的String ,需要Int, 产生异常

阅读更多
今天接这做我的博客,在博客分类提交时,String与Int之间的类型转换出现异常,暂且记下解决方法:
<s:form action="addSort" method="post">
								<p>
									<label for="sort.pid">类别级别:</label>
									<select name="sort.pid" id="sort.pid">
										<option value="0">-----------</option>
									</select>
								</p>
								<p>
									<label for="sort.name">类别名称:</label>
									<input class="txt" size="20" title="" id="sort.name" name="sort.name" type="text" />
									<span id="namemsg" style="color:#ff0000"></span>
								</p>
								<p>
									<label for="sort.title">类别描述:</label>
									<input class="txt" size="20" title="" id="sort.title" name="sort.title" type="text" />
									<span id="namemsg" style="color:#ff0000"></span>
								</p>
								<p>
									<label for="sort.orderNo">类别排序:</label>
									<input class="txt" size="20" title="" id="sort.orderNo" name="sort.orderNo" type="text" />
									<span id="ordermsg" style="color:#ff0000"></span>
								</p>
								<p>
									<input type="hidden" name="id" id="id" value="" />
									<input class="btn"  id="add" name="add" type="submit" value="确定" />
								</p>
							</s:form>

提交后产生的异常:

警告: Error setting expression 'sort.orderNo' with value '[Ljava.lang.String;@883357'
ognl.MethodFailedException: Method "setOrderNo" failed for object com.lfq.entity.Sort@1b7c76 [java.lang.NoSuchMethodException: com.lfq.entity.Sort.setOrderNo([Ljava.lang.String;)]
	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1265)
	at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1454)
	at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85)
	at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162)
	at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:28)
	at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2225)
	at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
	at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
	at ognl.SimpleNode.setValue(SimpleNode.java:301)
	at ognl.ASTChain.setValueBody(ASTChain.java:227)
	at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
	at ognl.SimpleNode.setValue(SimpleNode.java:301)
	at ognl.Ognl.setValue(Ognl.java:737)
	at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:198)
	at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:161)
	at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:149)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:276)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at com.lfq.interceptor.LoginInterceptor.intercept(LoginInterceptor.java:39)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
	at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
	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:230)
	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:104)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoSuchMethodException: com.lfq.entity.Sort.setOrderNo([Ljava.lang.String;)
	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1206)
	... 66 more


解决方法,在实体类里,将Int 改成Integer
public void setOrderNo(int orderNo) {
		this.orderNo = orderNo;
	}

改成:
public void setOrderNo(Integer orderNo) {
		this.orderNo = orderNo;
	}
分享到:
评论
1 楼 享受生活 2011-12-23  
这样又出新问题Class ognl.OgnlRuntime can not access a member of class modifiers ”private“,但所有setget都是public,不是private。

相关推荐

    使用模型驱动方便从表单获取用户输入的值

    那么只需要在表单form中的对应的标签名称(name属性的值设置为supplierSortId、supplierSortName、supplierSortRemark就可以直接给对象supplierSort赋值了) 即 &lt;form name="form1" method="post" action=...

    java 编写文件上传类简单易用

    在向服务器端提交请求时,浏览器需要将大量的数据一同提交给 Server 端, 而提交前,浏览器需要按照 Server 端可以识别的方式进行编码,对于普通的表单数据,这种编码方式很简单,编码后的结果通常是 field1=value2&...

    elm-form-decoder:将用户输入解码为整洁结构的可扩展方式

    这是有关表单解码的,并简要介绍了elm-form-decoder。 示例代码 假设您正在为山羊构建SNS。 (排除他们用两只手使用键盘的问题。) 首先要做的是声明代表山羊轮廓的Goat型波纹管。 type alias Goat = { name : ...

    comm-fileupload教程

    // 保存普通form表单域 protected String encoding = "utf-8"; // 字符编码,当读取上传表单的各部分时会用到该encoding protected UploadFileFilter filter = null; // 文件过滤器, 默认为NULL 不过滤 /** * 设置...

    file java 上传 下载

    判断上传表单是否为multipart/form-data类型 List parseRequest(HttpServletRequest request) 解析request对象,并把表单中的每一个输入项包装成一个fileItem 对象,并返回一个保存了所有FileItem的list集合。 ...

    jsp实验报告.doc

    inputWord.jsp页面有一个表单,用户通过该表单输入若干个单词,并提交给show Dictionary.jsp页面。 2. showDictionary.jsp负责排序单词,并将排序的全部单词显示给用户。 四、实验结果 实验所用代码如下: input...

    formam:一个用于在Go中将表单的值解码为struct的包

    支持的map键是string , int和uintptr , uint和uintptr , uintptr , float32 , float64 , bool , struct , custom types ,它们是通过函数或UnmarshalText方法注册的上述类型之一,是上述类型之一的pointer ...

    SimplePostVariableParameterBindingExtended:通过JSON和x-form-url-encoded的Web API多主体POST参数

    SimplePostVariableParameterBindingExtended 我们为什么需要它? 考虑下面的代码: [HttpPost][MultiParameterSupport]public HttpResponseMessage Login(int MasterEntity, string username, string password, ...

    c# http post get

    //提交表单,此处是登录百度的示例 client.UploadFile("http://hiup.baidu.com/zhangsan/upload", @"file1=D:\1.mp3");//上传文件 client.UploadFile("http://hiup.baidu.com/zhangsan/upload", "folder=myfolder&...

    net学习笔记及其他代码应用

    表示层为了与用户交互例如用户添加表单。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。 12.在下面的例子里 using System; class A { public A() { PrintFields(); } ...

    基于JSP+JavaBean+Servlet三层架构员工考勤管理系统源码+数据库+项目说明.zip

    从输入框输入数据,在servlet层通过request.getParameter()获取form表单提交的参数,将获得的用户名、密码作为参数调用dao层的方法进行查询数据库,select * from t_user_info where username=? andpassword =? 如果...

    Android 上传文件工具类

    String CONTENT_TYPE = "multipart/form-data"; // 内容类型 try { URL url = new URL(RequestURL); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setReadTimeout(TIME_...

    Javashop开发规范V2.2

    EOP自动为应用提供表单校验功能,通过指定form样式名和指定表单项特定属性的方式来完成。 5.3.1 示例 代码示例 [removed] function checkUserName(val){ if(val=='kingapex' ) return true; else return ...

    ZendFramework中文文档

    14.2.7. Int 14.2.8. RealPath 14.2.9. StringToLower 14.2.10. StringToUpper 14.2.11. StringTrim 14.2.12. StripTags 14.3. 过滤器链 14.4. 编写过滤器 14.5. Zend_Filter_Input 14.5.1. Declaring ...

    java 面试题 总结

    (s1+1运算结果是int型,需要强制转换类型) short s1 = 1; s1 += 1;(可以正确编译) 26、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? Math.round(11.5)==12 Math.round(-11.5)==-11 round方法返回与...

    insane:HTTP负载测试,压力测试,专为API设计的测试工具

    技术栈:go react Header KEY:Content-Type VALUE:application/x-www-form-urlencoded // 发送表单数据 KEY:Content-Type VALUE:application/json // 发送Json数据Body KEY:username TYPE:Int LENGTH:10 DEFAULT:...

    十天学会ASP.net--我认为ASP.NET比ASP难很多,希望大家做好准备

    以前说到BUTTON控件CausesValidation=true/false来设置按钮提交的表单是不是被检验也就是这里的几个检验控件,如果CausesValidation=true的话按下按钮就会首先检测是不是都通过了检验控件的检验。 下面再说两点: ...

    超级有影响力霸气的Java面试题大全文档

    (s1+1运算结果是int型,需要强制转换类型) short s1 = 1; s1 += 1;(可以正确编译) 29、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? Math.round(11.5)==12 Math.round(-11.5)==-11 round方法返回...

    HttpClient以及获取页面内容应用

    1.6.2Post提交表单(模拟表单提交) /** * post方式提交表单(模拟用户登录请求) */ public void postForm() { // 创建默认的httpClient实例. CloseableHttpClient httpclient = HttpClients.createDefault...

    C#浏览器编程,学习使用

    浏览器功能设计主要确定设计好的浏览器需要具备哪些功能,以及这些功能是以什么方式进行实现,这个步骤相当于软件设计中的“需求分析”,其中必须保证基本功能的具备,即浏览器必须能够浏览Web页面。 (2)浏览器...

Global site tag (gtag.js) - Google Analytics