如何在jsp页面获取多个文本框的数值,然后传到后台SalaryStandardAction.java里,再把数值加起来写入数据库表中?
如:
jsp页面:
<%int i=0;
%>
<c:forEach items="${requestScope.attribute}" var="item">
<%i++; %>
<tr class="TD_STYLE2">
<td align="center">
<%=i
%>
<input type="hidden" name="salaryStandardDetals.standardId" value="${standardId}">
</td>
<td colspan="3">
<input type="text" name="salaryStandardDetals.attributeName" value="${item.attributeName}" class="INPUT_STYLE2" readonly="readonly">
<input type="hidden" name="list[0].itemName" value="">
</td>
<td>
<input type="text" id="salary" name="salaryStandardDetals.salary" value="" class="INPUT_STYLE2">
</td>
<td colspan="3">
&nbsp;
</td>
</tr>
</c:forEach>
从数据库读取一个字段${item.attributeName}利用<c:forEach items="${requestScope.attribute}" var="item">
循环显示出6条信息如图:
然后传到后台SalaryStandardAction.java将金额全部加起来的一个总数在存入数据库表中。

解决方案 »

  1.   

    你给每个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,一步一步调试。
      

  2.   

    http://blog.csdn.net/bobojava/article/details/4487343
      

  3.   

    6L 写得已经很清楚了。其实这些普通计算可以交个用户浏览器去实现。
    将计算后数值传到一个<input type="hidden" />字段里。提交到后台,后台获取持久化到数据库就可以。
    这个事件可以在onsubmit的时候实现。
      

  4.   

    你这样循环出来的id,name都一样,还是按6楼说的那样做,然后用js计算提交
      

  5.   

    但是这个<input type="text" id="salary" name="salaryStandardDetals.salary" value="" class="INPUT_STYLE2">是用<c:forEach items="${requestScope.attribute}" var="item">
    循环出来的
      

  6.   

    <form action="sal">
    <%
        for(int i=0; i<6; i++){
            
    %>
        <input type="text" name="salary">
    <%
        }
    %>
          <br>
          <input type="submit" name="submit" value="submit">
    </form>protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    String [] str = req.getParameterValues("salary");
    for(int i=0; i<str.length;i++){
    System.out.println(str[i]);
    }
    }不知道你问的是不是这个  String [] str = req.getParameterValues("salary");
      

  7.   

    我是用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的框架,我想应该也差不多吧
      

  8.   

    jsp:<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <html>
      <head>
        <title>My JSP 'MoreText.jsp' starting page</title>
      </head>
      
      <body>
        <form action="sal">
        <%
            for(int i=0; i<6; i++){
            
         %>
            <input type="text" name="salary">
         <%
            }
          %>
          <br>
          <input type="submit" name="submit" value="submit">
        </form>
      </body>
    </html>web.xml:<servlet>
            <servlet-name>Sal</servlet-name>
            <servlet-class>com.servlet.SalServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>Sal</servlet-name>
            <url-pattern>/sal</url-pattern>
        </servlet-mapping>SalServlet.javaimport java.io.IOException;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class SalServlet extends HttpServlet{ @Override
    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);
    } @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    // TODO Auto-generated method stub
    doGet(req, resp);
    }}这是全套的小测试,你可以试下