Files required :
1. ajax.js
2. search.jsp
3. web.xml
4. struts-config.xml
5. SearchForm.java
6. SearchAction.java
Code for running the program :
1. ajax.js
2. search.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.util.*" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Search Page</title>
<script type="text/javascript" src="ajax.js">
</script>
</head>
<body>
<table>
<form action="search.do">
<tr>
<td>Enter name Here : </td>
<td><input id="n" type="test" name="name" onkeyup="search()"/></td>
</tr>
<div id="results"></div>
</form>
</table>
</body>
</html>
3. web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name />
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>search.jsp</welcome-file>
</welcome-file-list>
</web-app>
4. struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="searchForm" type="com.search.SerachForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/search" name="searchForm" type="com.search.SearchAction">
<forward name="success" path="/search.jsp"></forward>
</action>
</action-mappings>
</struts-config>
5. SearchForm.java
package com.search;
import org.apache.struts.action.ActionForm;
public class SerachForm extends ActionForm {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
6. SearchAction.java
package com.search;
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 SearchAction extends Action{
/*
* author : Chandrasekhara Kota
* Date : 03-Dec-2011
* Email : chandunaidu.kota@gmail.com
* */
public ActionForward execute(ActionMapping am, ActionForm af, HttpServletRequest req, HttpServletResponse res)throws Exception
{
System.out.println("---------------inside the action------------------"+req.getParameter("name"));
return am.findForward("success");
}
}
1. ajax.js
2. search.jsp
3. web.xml
4. struts-config.xml
5. SearchForm.java
6. SearchAction.java
Code for running the program :
1. ajax.js
var request;
function createObject() {
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
//alert("other than IE");
request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
//alert("IE only");
request = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function search() {
createObject();
var name=window.document.getElementById("n").value;
var url="search.do?name="+name;
request.open('GET',url,true);
request.send(url);
request.onreadystatechange= callback();
}
function callback() {
if (request.readyState == 4) {
displayInfo(request.responseText);
}
}
function displayInfo(str) {
/*This function is only for testing, not working*/
}
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.util.*" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Search Page</title>
<script type="text/javascript" src="ajax.js">
</script>
</head>
<body>
<table>
<form action="search.do">
<tr>
<td>Enter name Here : </td>
<td><input id="n" type="test" name="name" onkeyup="search()"/></td>
</tr>
<div id="results"></div>
</form>
</table>
</body>
</html>
3. web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name />
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>search.jsp</welcome-file>
</welcome-file-list>
</web-app>
4. struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="searchForm" type="com.search.SerachForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/search" name="searchForm" type="com.search.SearchAction">
<forward name="success" path="/search.jsp"></forward>
</action>
</action-mappings>
</struts-config>
5. SearchForm.java
package com.search;
import org.apache.struts.action.ActionForm;
public class SerachForm extends ActionForm {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
6. SearchAction.java
package com.search;
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 SearchAction extends Action{
/*
* author : Chandrasekhara Kota
* Date : 03-Dec-2011
* Email : chandunaidu.kota@gmail.com
* */
public ActionForward execute(ActionMapping am, ActionForm af, HttpServletRequest req, HttpServletResponse res)throws Exception
{
System.out.println("---------------inside the action------------------"+req.getParameter("name"));
return am.findForward("success");
}
}
well, there are no Struts "tags" in the jsp file and Form class never used! why?
ReplyDelete