Javascript 在JSP中添加多个记录并将所选数据发送到Servlet
我们在JSP中显示数据,如下图所示,所有数据都是从单个数组列表中显示的 [![在此处输入图像描述][1][1] 我们的需求是为多个记录选择Champion策略和Challenger策略,并将其发送到Servlet。 请建议一种方法,在该方法中,我们可以选择并将多个已更改\更新的值从JSP传递到servletJavascript 在JSP中添加多个记录并将所选数据发送到Servlet,javascript,java,jsp,arraylist,Javascript,Java,Jsp,Arraylist,我们在JSP中显示数据,如下图所示,所有数据都是从单个数组列表中显示的 [![在此处输入图像描述][1][1] 我们的需求是为多个记录选择Champion策略和Challenger策略,并将其发送到Servlet。 请建议一种方法,在该方法中,我们可以选择并将多个已更改\更新的值从JSP传递到servlet 所有数据都来自单个arraylist中的数据库,并在JSP中显示,现在我的要求是我应该能够为多个记录只提交一次JSP,就像我应该能够为2-3个记录更改Champion策略,为2-3个记录更改
所有数据都来自单个arraylist中的数据库,并在JSP中显示,现在我的要求是我应该能够为多个记录只提交一次JSP,就像我应该能够为2-3个记录更改Champion策略,为2-3个记录更改challenger策略,并且在一次提交中能够将数据发送到servlet
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="java.util.Enumeration"%>
<%@page import="java.util.Vector"%>
<%@page import="java.util.TreeSet"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="com.BTParameterStrategyMaintenanceDetails"%>
<%@page import="javax.servlet.http.HttpSession" %>
<script>
function getCListt(val) {
alert(val);
}
</script>
<script>
function OpenClose(obj) {
HeadObj = eval(obj + "_Head");
BodyObj = eval(obj + "_Body");
if (BodyObj.style.display=='block') {
BodyObj.style.display='none';
SignOffset = HeadObj.innerHTML.indexOf("-");
HeadObj.innerHTML = "+" + HeadObj.innerHTML.substring(SignOffset+1);
} else {
BodyObj.style.display='block';
SignOffset = HeadObj.innerHTML.indexOf("+");
HeadObj.innerHTML = "-" + HeadObj.innerHTML.substring(SignOffset+1);
}
}
</script>
<script type="text/javascript">
function GetSelectedTextValue(ddlFruits) {
var selectedText = ddlFruits.options[ddlFruits.selectedIndex].innerHTML;
var selectedValue = ddlFruits.value;
alert("Selected Text: " + selectedText + " Value: " + selectedValue);
}
</script>
<%
HttpSession session1 = request.getSession();
ArrayList sampleStrategyRecords = (ArrayList) session1.getAttribute("allRiskCat");
System.out.println("number of records to be displayed : " + sampleStrategyRecords.size());
%>
<form action="/getChanges" >
<%for(int i=0;i<sampleStrategyRecords.size();i++){
String id = "ClickMe"+i+"_Head";
String id1 = "ClickMe"+i+"_Body";
String onClick = "ClickMe"+i ;
%>
<div id="<%= id %>" onClick="OpenClose('<%= onClick %>')" onMouseOver="this.style.cursor='pointer';" style="color: #000099;">
<button>
Risk Category <%= i %>
</button>
</div>
<%ArrayList ListIterator = (ArrayList) sampleStrategyRecords.get(i);
System.out.println("ListIteartor :: "+ListIterator.size());
System.out.println("**********");%>
<div id="<%= id1 %>" style="display:none; margin-left:20px"><table>
<tr>
<th>Risk Category</th>
<th>Channel Description</th>
<th>Bureau Level Description</th>
<th>Champion Strategy</th>
<th>Challenger Strategy</th>
<th>S2PC</th>
</tr>
<%
for(int j=0;j<ListIterator.size();j++){
BTParameterStrategyMaintenanceDetails bean = (BTParameterStrategyMaintenanceDetails)ListIterator.get(j);
ArrayList updatedList = new ArrayList();%>
<tr>
<td align = "left"><%= bean.getRiskCategory() %></td>
<td align = "left"><%= bean.getChannelDescription() %></td>
<td align = "left"><%= bean.getBureauLevelDescription() %></td>
<td align = "left"><select name="champDesc" id="champDesc" onchange=updatedList.add(bean) >
<%System.out.println("updated list size :: "+ updatedList.size()); %>
<%if (bean.getChampStrategyDesc() != null) {
for(int s=1;s<10;s++){
if(bean.getChampStrategyValue().equals(Integer.toString(s))){
%>
<option value="<%=bean.getChampStrategyValue()%>" selected="selected" > Champion Strategy <%=bean.getChampStrategyValue()%> </option>
<%}else{
%>
<option value="<%= s %>">Champion Strategy <%=s %></option>
<%}
}
}%>
</select></td>
<td align = "left"><select name="clngrDesc" id="clngrDesc">
<%if (bean.getChallengerDesc()!= null) {
for(int s=1;s<10;s++){
if(bean.getChallengerValue().equals(Integer.toString(s))){%>
<option value="<%=bean.getChallengerValue() %>" selected="selected"> Challenger Strategy <%=bean.getChallengerValue() %> </option>
<%}else{
%>
<option value="<%= s %>">Challenger Strategy <%=s %></option>
<%}
}
}
%>
</select>
</td>
<td align = "left">
<select name="s2pc" id="s2pc">
<%if (bean.getS2pc()!= null) {
for(int s=0;s<101;s++){
if(bean.getS2pc().equals(Integer.toString(s))){%>
<option value="<%=bean.getS2pc() %>" selected="selected"> <%=bean.getS2pc() %> </option>
<%}else{
%>
<option value="<%= s %>"><%=s %></option>
<%}
}
}
%>
</select>
</td>
</tr>
<%} %>
</table></div>
<% }
session1.setAttribute("checkList",sampleStrategyRecords);
ArrayList checkList = (ArrayList) session.getAttribute("checkList");
System.out.println("checkList size :: "+checkList.size());
%>
<input class="DataEntryButton" name="submit_button" type="submit" value="Submit" />
</form>
函数getCListt(val){
警报(val);
}
功能开闭(obj){
HeadObj=评估(obj+“_Head”);
BodyObj=评估(obj+“_Body”);
if(BodyObj.style.display=='block'){
BodyObj.style.display='none';
SignOffset=HeadObj.innerHTML.indexOf(“-”);
HeadObj.innerHTML=“+”+HeadObj.innerHTML.substring(SignOffset+1);
}否则{
BodyObj.style.display='block';
SignOffset=HeadObj.innerHTML.indexOf(“+”);
HeadObj.innerHTML=“-”+HeadObj.innerHTML.substring(SignOffset+1);
}
}
函数GetSelectedTextValue(DDL){
var selectedText=ddlFruits.options[ddlFruits.selectedIndex].innerHTML;
var selectedValue=ddl.value;
警报(“选定文本:+selectedText+”值:+selectedValue”);
}
风险类别
风险类别
频道描述
局级说明
冠军战略
挑战者战略
S2PC
冠军战略
挑战者战略
挑战者战略
使用
JSP操作标记在JSP文件中添加多个记录,并使用request.getParameter(“ParamName”)
从JSP文件中获取记录。要将所需数据插入表中,请使用JDBC连接。使用
JSP操作标记在JSP文件中添加多个记录,并使用request.getParameter(“ParamName”)
从JSP文件中获取记录。要将所需数据插入表中,请使用JDBC连接。从jsp中的多选择值中形成JSON字符串,通过post/ajax/Form submit将其发送到服务器,并将JSON处理到后端的记录列表中。从jsp中的多选择值中形成JSON字符串,通过post/ajax/form submit将其发送到服务器,在后端将json处理成一个记录列表。一般来说,我建议使用MVC框架(例如Spring MVC)将Java逻辑与视图分离,这将使所有代码更加结构化、可读性和可维护性。
如果您想继续处理普通的httprequest(&responses),我认为您可以将更新的列表定义为输入参数:
<form action="/getChanges" method="POST" >
....
<input type = "hidden" name="<%= "updatedList" %>" value="<%= updatedList %>" />
<input class="DataEntryButton" name="submit_button" type="submit" value="Submit" />
</form>
....
参见一般来说,我建议使用MVC框架(例如Spring MVC)将Java逻辑从视图中分离出来,这将使所有代码更加结构化、可读性和可维护性。 如果您想继续处理普通的httprequest(&responses),我认为您可以将更新的列表定义为输入参数:
<form action="/getChanges" method="POST" >
....
<input type = "hidden" name="<%= "updatedList" %>" value="<%= updatedList %>" />
<input class="DataEntryButton" name="submit_button" type="submit" value="Submit" />
</form>
....
请参见您能否再显示一点,例如jsp?数组的大小是静态的还是在循环中显示?通常我会说这是一个在jsp中设置值后必须提交的简单表单。所有数据都来自单个arraylist中的数据库并在jsp中显示,现在我的要求是我应该能够为多个记录提交一次jsp,就像我应该能够为2-3个记录更改Champion策略一样,challenger针对2-3条记录的策略和一次提交能够将数据发送到Servlet您能再展示一点吗,例如jsp?数组的大小是静态的还是在循环中显示?通常我会说这是一个在jsp中设置值后必须提交的简单表单。所有数据都来自单个arraylist中的数据库并在jsp中显示,现在我的要求是我应该能够为多个记录提交一次jsp,就像我应该能够为2-3个记录更改Champion策略一样,challenger 2-3记录策略和一次提交能够将数据发送到Servlet我如何从JSPuse jsp文件create name.java文件发送多个选定值并将参数值输入Servlet我如何从JSPuse jsp文件create name.java文件发送多个选定值并将参数值输入Servlet详细检查了您的代码,但我假设您的
onChange
属性工作正常。如果没有,您可以使用scriptfunction来填充列表。如何,我关心的是如何在java脚本函数中向列表添加值尚未详细检查您的代码,但我假设您的onChange
属性工作正常。如果没有,您可以使用scriptfunction来填充列表。如何,我关心的是如何在java脚本函数中向列表添加值