`
lfq618
  • 浏览: 88406 次
  • 性别: 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。

相关推荐

    POI导入Excel文件--form表单提交

    本篇文章将详细探讨如何使用POI库来导入Excel文件,并结合form表单提交的数据进行处理。我们将讨论以下几个核心知识点: 1. **Apache POI简介** Apache POI 是一个开源项目,它提供了API来处理Microsoft的Office...

    jsp+servlet做的form表单元素的提交

    本主题将深入探讨如何利用JSP和Servlet处理表单(form)元素的提交,以及在后台进行数据处理后再将结果显示出来。 首先,JSP是一种视图技术,它允许开发者在HTML页面中嵌入Java代码,用于生成动态内容。表单是HTML中...

    SpringCloud Finchley Gateway 缓存请求Body和Form表单的实现

    然而,有些场景下,我们可能需要缓存请求的Body(如JSON数据)或Form表单数据,以便进行进一步的业务逻辑处理或优化性能。在Spring Cloud Finchley版本中,由于其基于WebFlux的响应式架构,我们需要特别注意如何正确...

    form表单复选框取值

    2. **表单提交与服务器处理** 当用户点击删除按钮时,JS会序列化表单数据(包括选中的复选框)并使用AJAX发送POST请求到服务器。在本例中,请求的URL是`TeamMg_deleteContactManagement.action`,数据类型设置为`...

    Spring Boot RestTemplate提交表单数据的三种方法

    当提交表单数据时,我们需要设置正确的Content-Type头,通常是`MediaType.APPLICATION_FORM_URLENCODED`,以表示这是一个表单数据请求。接着,我们可以创建一个`MultiValueMap`来存储表单参数,然后将其封装到`...

    volley 通过表单提交数据

    在 Android 应用中,经常需要向服务器提交表单数据,Volley 提供了简单且强大的方式来实现这一功能。以下将详细介绍如何使用 Volley 通过表单提交数据以及封装表单数据。 1. **Volley 模块介绍** Volley 主要由 ...

    commons-beanutils快速封装form表单数据包

    `commons-beanutils快速封装form表单数据包`的核心概念在于其提供的`BeanUtils`类,该类提供了一系列静态方法,使得我们可以方便地操作JavaBean对象。以下是一些关键知识点: 1. **属性设置与获取**:`BeanUtils....

    javaweb 表单提交

    在JavaWeb开发中,表单提交是用户与服务器交互的重要方式。本教程将重点讨论如何启用Session,并通过三个页面实现一个简单的验证表单提交过程。首先,我们将创建一个包含姓名、密码输入的页面,接着是密码确认页面,...

    java发起http请求提交表单

    在提交表单之前,还需要注意以下几个关键点: - **参数编码**:确保所有的表单参数都进行了正确的URL编码,以防止特殊字符导致的问题。 - **参数顺序**:某些场景下,参数的顺序可能会影响结果,特别是涉及到签名...

    MVC四种表单提交

    #### 二、传统Form表单Action属性提交 传统的HTML表单提交方式是通过`&lt;form&gt;`标签的`action`属性指定服务器端处理表单数据的URL路径。 **示例**: ```html &lt;form action="/Star/Apply" method="post"&gt; &lt;!-- 表单...

    Android实现表单上传文件

    但在Android中,由于没有直接的API支持,我们需要手动构造HTTP请求,模拟这种表单提交。 1. **构建HTTP请求头** - `Content-Type`: 需要设置为`multipart/form-data`,表示这是个包含文件的数据。 - `Boundary`: ...

    java反射-在form提交的一些应用

    以上就是关于“java反射-在form提交的一些应用”的主要知识点,包括如何利用反射处理表单数据、源码分析以及工具的使用。通过深入理解这些内容,开发者可以更加灵活地处理Web应用中的表单数据,提高代码的可维护性和...

    webView表单提交

    在一些应用中,我们可能需要在`webView`内处理表单提交,包括上传文件,这对于用户来说是一种便捷的功能。本文将详细讲解如何在`webView`中实现表单提交和文件上传,并探讨兼容Android 5.0(API级别21)及以上的策略...

    c#模拟post发送json和multipart/form-data格式

    对于multipart/form-data,这是一种用于HTML表单提交和文件上传的标准。它允许在同一个请求中发送多个部分,每部分都有自己的边界。在C#中,使用HttpClient类可以方便地模拟POST请求,尤其是处理multipart/form-data...

    C#_post_multipartform示例.zip

    `multipart/form-data`是一种HTTP请求类型,主要用于在表单提交时发送二进制数据,如文件。在C#的ASP.NET环境中,开发者经常会遇到这样的需求,即在后台模拟POST请求来发送文件。下面将详细解释`multipart/form-data...

    springMvc集合接收参数的用法

    本教程将重点讲解如何接收ajax和form表单传递的集合参数。 一、接收Ajax传递的集合参数 1. JSON格式数据:Ajax通常使用JSON格式传递复杂数据,如集合。在JavaScript中,你可以创建一个JSON对象,将集合数据转换...

    Android-用RecyclerView实现类似web表单的功能

    在提交表单时,确保对数据进行验证,并处理任何可能的异常情况。 在RecyclerWebListDemo-master项目中,你可以看到这些概念的具体实现。该项目展示了如何将RecyclerView用于创建一个类似Web表单的应用,允许用户在...

    解决java enctype multipart form-data文件上传传值问题

    特别是当涉及到使用`multipart/form-data`作为表单的编码类型时,这种需求更为突出。本文将深入探讨如何在不借助第三方库(如JSP Smart Upload)的情况下,解决文件上传中的传值问题。 #### 一、`multipart/form-...

    Java的验证表单大全。

    根据提供的文件信息,本文将详细解释与Java表单验证相关的几个关键知识点,这些知识点主要集中在对不同类型的输入数据进行格式校验上。 ### 一、校验 IP 地址的格式 #### 函数定义: ```java public boolean isIP...

    c# Post提交图片

    需要注意的是,这里设置的Content-Type并不是发送图片的标准格式`multipart/form-data`,而是用于提交表单数据的`application/x-www-form-urlencoded`。如果要发送图片,应该使用`multipart/form-data`。 2. **读取...

Global site tag (gtag.js) - Google Analytics