读书人

jsp页面多个文本框传值有关问题

发布时间: 2012-12-26 14:39:29 作者: rapoo

jsp页面多个文本框传值问题
如何在jsp页面获取多个文本框的数值,然后传到后台SalaryStandardAction.java里,再把数值加起来写入数据库表中?
如:
jsp页面:
<%int i=0;
%>
<c:forEach items="${requestScope.attribute}" var="item">
<%i++; %>
<tr alt="jsp页面多个文本框传值有关问题" />
然后传到后台SalaryStandardAction.java将金额全部加起来的一个总数在存入数据库表中。




[解决办法]
你给每个input加上一个id,比如说<input type="hidden" name="list[0].itemName" id="list0" value="">,因为在一个jsp页面里面id是不能重复的,name可以重复,然后将这些id用JS或者jquery获取值,在js里面相加,最后将值传到页面的一个你新建的input里面,比如说<input type="hidden" id="total"/>,再把这个total的值传到后台action里面,在action里面private int total,在建立set方法,根据struts2的框架就可以获取这个总和的值了。


<script type="text/javascript">
var a = document.getElementById('list0').value;
var b=document.getElementById('list1').value;
var c="";
c=a+b;
document.getElementById('total').value = c;
</script>

上面的代码是用js写的,最好把这段代码放到jsp页面的head标签里。楼主可以在浏览器里面按F12,一步一步调试。
[解决办法]
我是用servlet测试的

在后台得到所有的值

SalaryStandardAction.java:

protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String [] str = req.getParameterValues("salary");
double dou = 0;
for(int i=0; i<str.length;i++){
System.out.println(str[i]);
double do1 = Double.valueOf(str[i]);
dou = dou + do1;
}

System.out.println(dou);
}

看你的类名好像是struts的框架,我想应该也差不多吧

读书人网 >Java Web开发

热点推荐