struts 2 ajax示例
在本教程中,我们将看到我们如何在Struts 2框架中使用WebApplication中的Ajax。
Struts 2中的Ajax支持:
Struts 2为使用Dojo Toolkit库提供了对Ajax的内置支持。
它配备了Dojo Ajax API,我们可以用来支持AJAX.对于AJAX支持,我们需要将以下内容添加到ClassPath Struts2-Dojo-plugin.jar。
AutoCompleter示例:创建名为"autocompleteInstruts2"的项目。
在Eclipse IDE中配置Struts 2,请参阅配置Struts 2链接。
我们将创建TextBox,它将自动完成并建议输入。
创建名为autocompleteaction.java的动作类。
在src文件夹中的package org.igi.javapostssfor learning下。
它会呼吁我们的自动填充特例。
将内容复制到autocompleteaction.java
package org.igi.javaPostsForLearning;
import java.util.ArrayList;
import com.opensymphony.xwork2.ActionSupport;
public class AutoCompleteAction extends ActionSupport{
public ArrayList listOfStates=new ArrayList();
public String state;
public String execute()
{
populatelistOfStates();
return SUCCESS;
}
public void populatelistOfStates()
{//i am taking few states here with same first character.you can have all states
listOfStates.add("Maharastra");
listOfStates.add("Madhya Pradesh");
listOfStates.add("Meghalaya");
listOfStates.add("Karnataka");
listOfStates.add("Kerala");
}
}
JSP:
我们将在WebContent文件夹下创建一个名为"autocomplete.jsp"的一个jsp。
将以下代码复制到autocomplete.jsp中
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib uri="/struts-dojo-tags" prefix="sx"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<sx:head
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Auto complete example</title>
</head>
<body bgcolor="lightblue">
<h2><Welcome to Netherlands</h2>
<s:form>
<sx:autocompleter size="1" name="state" list="listOfStates" showDownArrow="false" label="Choose state"></sx:autocompleter>
<s:submit ></s:submit>
</s:form>
</body>
</html>
现在这里<%@ taglib uri ="struts-dojo-tags"prefix ="sx"%>是JSP中用于包括Dojo Ajax标记文件的指令。
标签用于JSP中具有文本框或者下拉列表。
因此,写出几个字符,它将向我们展示相关的选项。
在此,showdownarrow属性指示是否显示下拉目。
其中我们将其设置为False,以便我们将在Google上看到与我们在谷歌上看到相同的文本箱。
struts.xml:
Struts.xml不会发生重大更改。
它将是相同类型的URL动作映射
在SRC文件夹中创建Struts.xml。
在struts.xml中复制以下内容
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default" namespace="/">
<action name="AutoComplete" class="org.igi.javaPostsForLearning.AutoCompleteAction" >
<result name="success">autoComplete.jsp</result>
</action>
</package>
</struts>
web.xml:
它也与之前的帖子中的相同。
在web.xml中复制以下内容。
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>autoCompleteInStruts2</display-name>
<filter>
<filter-name>
struts2
</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern> </filter-mapping>
<welcome-file-list>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
运行应用程序:
右键单击"项目" - >在服务器上运行 - >运行。
复制http://localhost:8080/autocompleteInstruts2 /自动完成链接到浏览器,然后按Enter键,我们将获取屏幕。
在TextBox中输入"M",我们将获取屏幕。
延伸以上示例:
我们将展示上面的示例,这样当我们单击AutoComplete.jsp上的提交时,我们将被定向为提交状态的欢迎页面。
添加另一个操作文件:
创建名为"welcometostate.java"的新动作文件
在welcometostate.java中复制以下代码
package org.igi.javaPostsForLearning;
import com.opensymphony.xwork2.ActionSupport;
public class WelcomeToState extends ActionSupport{
public String state;
public String execute()
{
return SUCCESS;
}
}
所以在autocomplete.jsp中添加act ="welcometostate"标记中的。
<s:form action="WelcomeTostate">
添加新的JSP文件:
在名为"welcometostate.jsp"的WebContent文件夹中创建新的JSP文件
将以下代码复制到welcomeTostate.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">
<%@taglib uri="/struts-tags" prefix="s" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Welcome to state</title>
</head>
<body bgcolor="lightblue">
Welcome to <s:property value="state"
</body>
</html>
现在在标签中的Struts2.xml中添加以下操作映射
<action name="WelcomeToState" class="org.igi.javaPostsForLearning.WelcomeToState" >
<result name="success">WelcomeToState.jsp</result>
</action>
再次运行应用程序:
遵循以上步骤(在运行应用程序标题下)进行运行应用程序。
选择Maharastra并点击提交

