Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JSP中添加多个记录并将所选数据发送到Servlet_Javascript_Java_Jsp_Arraylist - Fatal编程技术网

Javascript 在JSP中添加多个记录并将所选数据发送到Servlet

Javascript 在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个记录更改

我们在JSP中显示数据,如下图所示,所有数据都是从单个数组列表中显示的 [![在此处输入图像描述][1][1]

我们的需求是为多个记录选择Champion策略和Challenger策略,并将其发送到Servlet。 请建议一种方法,在该方法中,我们可以选择并将多个已更改\更新的值从JSP传递到servlet


所有数据都来自单个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脚本函数中向列表添加值