如何在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">
</td>
</tr>
</c:forEach>
从数据库读取一个字段${item.attributeName}利用<c:forEach items="${requestScope.attribute}" var="item">
循环显示出6条信息如图:
然后传到后台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">
</td>
</tr>
</c:forEach>
从数据库读取一个字段${item.attributeName}利用<c:forEach items="${requestScope.attribute}" var="item">
循环显示出6条信息如图:
然后传到后台SalaryStandardAction.java将金额全部加起来的一个总数在存入数据库表中。
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,一步一步调试。
将计算后数值传到一个<input type="hidden" />字段里。提交到后台,后台获取持久化到数据库就可以。
这个事件可以在onsubmit的时候实现。
循环出来的
<%
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");
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的框架,我想应该也差不多吧
<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);
}}这是全套的小测试,你可以试下