Struts 2 Ajax Tutorial with Example
来源:互联网 发布:假装情侣聊天软件 编辑:程序博客网 时间:2024/05/17 02:21
Struts 2 Ajax Tutorial with Example
- By Viral Patel on January 13, 2010
Welcome to the last part of 7 article series of Struts 2 Framework tutorials. Inprevious article we saw how to implement File Upload functionality in Struts 2. In this article we will see how we can implement Ajax support in a webapplication using Struts2 framework.
Struts 2 Tutorials
- Part 1: Introduction to Struts 2
- Part 2: Create Hello World Application in Struts 2
- Part 3: Struts 2 Validation Framework Tutorial with Example
- Part 4: Struts 2 Tiles Plugin Tutorial with Example
- Part 5: Struts 2 Interceptors Tutorial with Example
- Part 6: Struts 2 File Upload and Save Example
- Part 7: Struts 2 Ajax Tutorial with Example
AJAX support in Struts 2
Struts 2 provides built-in support to AJAX using Dojo Toolkit library. If you are new to Dojo, you may want to go through theIntroduction of DOJO Toolkit.
Struts 2 comes with powerful set of Dojo AJAX APIs which you can use to add Ajax support. In order to add Ajax support, you need to add following JAR file in your classpath:
struts2-dojo-plugin.jar
Also once we add this JAR file, we need to add following code snippet in whatever JSP file we need to add AJAX support.
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
First define the taglib sx which we will use to add AJAX enabled tags.
<
sx:head
/>
Add this head tag in your JSP between <head> … </head> tags. This sx:head tag will include required javascript and css files to implement Ajax.
AJAX Example: Struts2 Ajax Drop Down
Let us add simple AJAX support in our StrutsHelloWorld web application. We will use the base code that we used in previous articles and add Ajax on top of it.
We will create a drop down which will Autocomplete and suggest the input. For this we will add Dojo support to our webapp.
Step 1: Adding JAR file
As discussed earlier we will add struts2-dojo-plugin.jar in classpath (WEB-INF/lib). Thus, following is the list of required jar files. Note that these jars are needed to run full application including all the samples of previous parts of this tutorial series.
Step 2: Create AJAX Action class
We will create an action class which will get called for our Ajax example. Create a fileAjaxAutocomplete.java
in net.viralpatel.struts2
package and copy following content into it.
AjaxAutocomplete.java
package
net.viralpatel.struts2;
import
java.util.ArrayList;
import
java.util.List;
import
java.util.StringTokenizer;
import
com.opensymphony.xwork2.ActionSupport;
public
class
AjaxAutocomplete
extends
ActionSupport {
private
String data =
"Afghanistan, Zimbabwe, India, United States, Germany, China, Israel"
;
private
List<String> countries;
private
String country;
public
String execute() {
countries =
new
ArrayList<String>();
StringTokenizer st =
new
StringTokenizer(data,
","
);
while
(st.hasMoreTokens()) {
countries.add(st.nextToken().trim());
}
return
SUCCESS;
}
public
String getCountry() {
return
this
.country;
}
public
List<String> getCountries() {
return
countries;
}
public
void
setCountries(List<String> countries) {
this
.countries = countries;
}
public
void
setCountry(String country) {
this
.country = country;
}
}
In above code we have created a simple action class with attribute String country
andList countries
. The countries list will be populated with country names when execute() method is called. Here for this example, we have loaded static data. You may feel free to change this and add data from database.
Step 3: Create JSP
Create JSP file to display Autocomplete textbox for our Ajax action. Create AjaxDemo.jsp in WebContent directory.
AjaxDemo.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
<
html
>
<
head
>
<
title
>Welcome</
title
>
<
sx:head
/>
</
head
>
<
body
>
<
h2
>Struts 2 Autocomplete (Drop down) Example!</
h2
>
Country:
<
sx:autocompleter
size
=
"1"
list
=
"countries"
name
=
"country"
></
sx:autocompleter
>
</
action
>
</
body
>
</
html
>
In above JSP file we have used sx:autocompleter tag to render an autocomplete drop down which users Ajax class to fetch data internally. Note that we have mapped thelist
attribute with List countries
.
Step 4: Creating Struts.xml entry
Add following action entry in Struts.xml file:
<
action
name
=
"ajaxdemo"
class
=
"net.viralpatel.struts2.AjaxAutocomplete"
>
<
interceptor-ref
name
=
"loggingStack"
></
interceptor-ref
>
<
result
name
=
"success"
type
=
"tiles"
>/ajaxdemo.tiles</
result
>
<
result
type
=
"tiles"
>/ajaxdemo.tiles</
result
>
</
action
>
Notice that we are using Tiles here in this example. You may want to use AjaxDemo.jsp instead of /ajaxdemo.tiles to render the output directly in JSP.
That’s All Folks
Compile and Run the application in eclipse.
Download Source Code
Click here to download Source Code without JAR files (24KB)
Conclusion
Struts2 Framework provides wide variety of features to create a rich web application. In this Struts2 series we saw different aspects of Struts 2 likeintroduction of struts2, hello world application, validation framework, tiles plugin, strurts2 interceptors, file upload and ajax support.
- Struts 2 Ajax Tutorial with Example
- Struts 2 File Upload and Save Tutorial with Example
- Oracle XMLTable Tutorial With Example
- Ajax validation with Struts 2
- Example #1: Struts with Hibernate
- Spring3MVC:Internationlization&Localization Tutorial with Example
- Spring3MVC:Themes in Spring-Tutorial with Example
- FreeMarker(FTL) Hello World Tutorial with Example
- Spring MVC with ParameterizableViewController Tutorial and Example
- AJAX/Javascript XML Processing Example/Tutorial
- Grails with ATS Transformation tutorial with a demo example
- Angular 2 User Registration and Login Example & Tutorial - Built with Angular 2.0 Final.
- Struts 2 ModelDriven example
- Struts 2 Tutorial
- Spring3MVC:tiles plugin Tutorial with Example in Eclipse
- JSP Custom tags with example – JSP Tutorial
- jQuery Ajax Example With JSON Response
- Pro Apache Struts with Ajax
- Memcached缓存技术
- JSON and Servlet example
- PL SQL基本语法要术
- c_str
- PL/SQL简介
- Struts 2 Ajax Tutorial with Example
- 黑马程序员_udp
- Flash之死
- VS2008下的CListCtrl控件的使用
- 下一代网页:当HTML5取代Flash
- 在<a></a>添加其他事件
- LINQ学习资料
- 原来,高手就是这么确立恋爱关系哒,你懂了么
- Developing with cocos2d-x for android on Linux