1

Struts アプリケーションを作成しました。フロントページは、フォームと画像を持つ jsp です。フィールドにデータを入力して画像をクリックすると、その特定の値の詳細が検索され、同じページの div に出力されます。返されるデータは、チェックボックスと値を含むテーブル形式です。このテーブル形式は、別の jsp ページにあります。すべての値を取得して同じページに表示するために使用Ajaxしたので、常に更新する必要はありません。

`document.getElementById("prtCnt").innerHTML=xmlhttp.responseText;`


where "prnCnt" is the Id of that div.

ここで、いくつかのチェックボックスをオンにして、フォーム全体を送信します (フォーム上の既存のフィールドとチェックボックス付きのテーブル値を使用)。

どうすればそれができますか?

abc.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
   <%@taglib uri="/WEB-INF/struts-html" prefix="html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01     Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script src="ajaxjs.js"></script>
</head>
<script>
function getvalue() {
    var value = document.getElementById("client").value;
    loadContent(value);
}
</script>
<body>
<html:form action="AjaxAction.do" >
    <html:text property="client"  value="ankit"  styleId="client" /> <img
        style="cursor: hand" id="search" src="images/1search.gif"  width="15"
        height="15" border="0" onclick="getvalue()">
     </html:form>
 <div id="prtCnt"></div>
 </body>

</html>`

ajaxjs.js

var xmlhttp; function loadContent(value) { xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { alert ("Your browser does not support Ajax HTTP"); return; } url="AjaxAction.do?client="+value; xmlhttp.onreadystatechange=getOutput; xmlhttp.open("post",url,true); xmlhttp.send(null); } function getOutput() { if (xmlhttp.readyState==4) { alert(xmlhttp.responseText); document.getElementById("prtCnt").innerHTML=xmlhttp.responseText; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } return null; }

tableshow.jsp

enter code here

<%@page import="com.ajax.AjaxForm"%>
<%
AjaxForm aj = (AjaxForm) request.getAttribute("bean");
%>
<html>
<body>
<table width="99%" border="1" cellspacing="0" cellpadding="0">
<tr align="left" class="tableheader">
<td width="5%">CheckBox</td>
    <td width="10%">Account Number</td>
    <td width="12%">Tax Form ID</td>
    <td width="12%">Account Name</td>
    <td width="12%">Product</td>
    <td width="12%">Bank ID</td>
    <td width="12%">Client ID [ECI]</td>
    <td width="10%">Relationship type</td>
    <td width="5%">LOB</td>
    <td width="10%">Account Status</td>
</tr>
<tr class="GridRow">
<td width="5%"><input type="checkbox" name="check"> </td>
    <td width="10%"><a href=""><%=aj.getDummy()%></a>
    </td>
    <td width="12%"><%=aj.getClient()%></td>
    <td width="12%"><%=aj.getDummy()%></td>
    <td width="12%"><%=aj.getDummy()%></td>
    <td width="12%"><%=aj.getDummy()%></td>
    <td width="12%"><%=aj.getDummy()%></td>
    <td width="10%"><%=aj.getDummy()%></td>
    <td width="5%"><%=aj.getDummy()%></td>
    <td width="10%"><%=aj.getDummy()%></td>
</tr>

</table>
</body>
</html>

`

AjaxAction.java

package com.ajax;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class AjaxAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm actionForm,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    System.out.println("from action");
    AjaxForm aj = (AjaxForm) actionForm;
    System.out.println(request.getParameter("client"));
    if(aj.getClient()!=null){}
    else
        aj.setClient("ankit");
    //aj.setClient(request.getParameter("client"));

    System.out.println(aj.getClient()+"1111111111111111111111111111111");
    if (aj.getClient().equals("ankit"))
        aj.setDummy("Dummy Value for ankit");
    else if (aj.getClient().equals("arpit"))
        aj.setDummy("Dummy Value for arpit"); 
    else if (aj.getClient().equals("rohit"))
        aj.setDummy("Dummy Value for rohit");
    else{
        aj.setClient("soni");
        aj.setDummy("Dummy Value for soni");
    }
    System.out.println("after setting");
    System.out.println(aj.getClient());
    System.out.println(aj.getDummy());
    request.setAttribute("bean", aj);
    return mapping.findForward("success");
}
}
4

0 に答える 0