javaScript 的方法function allSet() { var arrayNum = []; for (i=0; i<no.length; i++) { arrayNum[y] = numText[i].value; =〉 这是从页面输入的数字值 } document.listForm.quantitys.value = arrayNum; =〉 Action的 Form名字-〉listForm;
Form的quantitys 的定义为
private BigDecimal[] quantitys;
}出现的错误信息是下面的这个型错误java.lang.NumberFormatException是什么问题?
解决方案 »
- jasperreport+ireport配置问题,在线等.......
- 请教正则分析tomcat访问日志的问题~~~~
- opennms服务启动时的问题,请各位各位大侠拍砖
- 难道没人遇到这个问题吗
- 一个关于视频的问题,加分50,在线急
- 如何让在JS中定义的变量在JSP中使用??
- 求一个连接sql server2000的javabean(调试完成马上结贴) ----------------在线等待
- 我想在一个jsp的函数里,调用javabean,请问如何解决??
- apache与tomcat搭配问题
- 如何改变tomcat中servlet的虚拟目录?
- 项目应该怎样跟别人描述
- tapestry和jqury怎么整合?
其次,如果是JSP呢,java程序需要用 “<% %>”扩起来;
再次,你的JavaScript程序,需要用<script></script>标签扩起来;
最后,祝你成功!
再次,你的JavaScript程序,需要用 <script> </script>标签扩起来; 这个都有的,
当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。 Java API上是这样描述的;
看看你的Java程序那里有讲字符串转换成数字的方法,检查那个字符串;
你这里是java异常,把java部分贴出来吧
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
org.seasar.struts.processor.S2RequestProcessor.processPopulate(S2RequestProcessor.java:152)
org.seasar.struts.processor.PopulateProcessorImpl.processPopulate(PopulateProcessorImpl.java:65)
org.seasar.struts.processor.S2RequestProcessor.processS2Populate(S2RequestProcessor.java:158)
org.seasar.struts.processor.AcceptorImpl.process(AcceptorImpl.java:94)
org.seasar.struts.processor.S2RequestProcessor.process(S2RequestProcessor.java:74)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:62)
org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:50)
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:60)
原因 org.apache.commons.beanutils.ConversionException
org.apache.commons.beanutils.converters.BigDecimalConverter.convert(BigDecimalConverter.java:117)
org.apache.commons.beanutils.ConvertUtilsBean.convert(ConvertUtilsBean.java:464)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:986)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
org.seasar.struts.processor.S2RequestProcessor.processPopulate(S2RequestProcessor.java:152)
org.seasar.struts.processor.PopulateProcessorImpl.processPopulate(PopulateProcessorImpl.java:65)
org.seasar.struts.processor.S2RequestProcessor.processS2Populate(S2RequestProcessor.java:158)
org.seasar.struts.processor.AcceptorImpl.process(AcceptorImpl.java:94)
org.seasar.struts.processor.S2RequestProcessor.process(S2RequestProcessor.java:74)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:62)
org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:50)
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:60)
原因 java.lang.NumberFormatException
java.math.BigDecimal.<init>(Unknown Source)
java.math.BigDecimal.<init>(Unknown Source)
org.apache.commons.beanutils.converters.BigDecimalConverter.convert(BigDecimalConverter.java:112)
org.apache.commons.beanutils.ConvertUtilsBean.convert(ConvertUtilsBean.java:464)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:986)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
org.seasar.struts.processor.S2RequestProcessor.processPopulate(S2RequestProcessor.java:152)
org.seasar.struts.processor.PopulateProcessorImpl.processPopulate(PopulateProcessorImpl.java:65)
org.seasar.struts.processor.S2RequestProcessor.processS2Populate(S2RequestProcessor.java:158)
org.seasar.struts.processor.AcceptorImpl.process(AcceptorImpl.java:94)
org.seasar.struts.processor.S2RequestProcessor.process(S2RequestProcessor.java:74)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:62)
org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:50)
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:60)
应该是类型转换错误,服务器端不认识客户端提交过来的“quantitys”数据;
数组不能这样提交;
两种方案:
一种在客户端拼接字符串,在服务器端用字符串接收,然后拆分字符串;
另一种,在客户端用同名组件存储数组的值,提交给服务器端,用数组接收;
function allSet() { var arrayNum = [];
var arrayId = []; for (i=0; i <no.length; i++) { arrayNum[y] = numText[i].value; =〉 这是从页面输入的数字值 arrayId[y] = parId[i].value; =〉 这是从页面输入的名字值 }
document.listForm.quantitys.value = arrayNum; =〉 document.listForm.partIds.value = arrayId; =〉 Form 里的格式是
private String[] partIds;
我把数字的那一行取消的话,这个就正常执行,
如果加数字的行的话,就抛出上述例外
和大家的想法一样, 我也觉得是转换的时候的例外,但是不知道怎么改,有没有人碰到过同样的问题?
这样的赋值,应该是没有效果;
你可以在复制后,alert一下,看看是什么东东;
在form里定义一个
<div id="a"></div>
脚本的部分:function allSet()
{
var arrayNum = [];
var arrayId = [];
for (i=0; i <no.length; i++)
{
arrayNum[y] = numText[i].value; =〉 这是从页面输入的数字值
arrayId[y] = parId[i].value; =〉 这是从页面输入的名字值
}
for (i=0; i <arrayId.length; i++)
{
document.getElementById("a").innerHTML = document.getElementById("a").innerHTML + "<input type='hidden' name='partIds' value='" + arrayId[i] + "'/>" + "<input type='hidden' name='arrayNum' value='" + arrayNum[i] + "'/>";
}
然后在逐一转换成数字;