`
04023129
  • 浏览: 162177 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

★Struts2中的Ajax实现 <s:a>

阅读更多

项目作完了,现在没什么事情做,继续研究一下Struts2框架.今天作的是Struts2种的Ajax的实现。这里是用自带的DOJO实现的。先看配置文件,配置了Struts2和Freemarker

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>Ajax</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<servlet>
		<servlet-name>freemarker</servlet-name>
		<servlet-class>
			org.apache.struts2.views.freemarker.FreemarkerServlet
		</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>freemarker</servlet-name>
		<url-pattern>*.ftl</url-pattern>
	</servlet-mapping>
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

 struts.xml

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<package name="Struts2Ajax" extends="struts-default">
		<action name="ShowArticle" class="com.zzh.action.ShowArticle">
			<result type="freemarker">/result.ftl</result>
		</action>
	</package>
</struts>

 index.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Ajax</title>
        <s:head theme="ajax" />
        <script type="text/javascript">                    

            dojo.event.topic.subscribe('getArticle', this, function(data, type, e){
                if(type == 'load') {
                    showArticle(data);
                } else if(type == 'error') {
                    alert('Can not connect to the server');
                }
            });
        
        function showArticle(data) {
         document.getElementById("article").innerHTML=data;
        }
        </script>
    </head>
    <body>

        <s:a theme="ajax" href="ShowArticle.action?id=1" notifyTopics="getArticle" >新聞1</s:a>
        <s:a theme="ajax" href="ShowArticle.action?id=2" notifyTopics="getArticle" >新聞2</s:a>
        <s:a theme="ajax" href="ShowArticle.action?id=3" notifyTopics="getArticle" >新聞3</s:a>
        <s:a theme="ajax" href="ShowArticle.action?id=4" notifyTopics="getArticle" >新聞4</s:a>
        <div id="article"></div>
        
    </body>
</html>
 

ShowArticle.java

package com.zzh.action;

public class ShowArticle {
	private  Article article;
    private String id;
	public Article getArticle() {
		return article;
	}

	public void setArticle(Article article) {
		this.article = article;
	}
	public String execute()
	{
		article = new Article();
		article.setTitle("新聞標題"+id);
		article.setContent("新聞内容"+id);
		return "success";
	}


	public void setId(String id) {
		this.id = id;
	}

}

 Article.java

package com.zzh.action;

public class Article {
	private String title;
	private String content;
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}

}

 作成画面一覧

 
  • 大小: 24.9 KB
分享到:
评论

相关推荐

    第3章_Struts2标签库详解与AJAX技术应用.rar

    在Struts2中,我们可以利用Struts2的AJAX插件实现异步请求。以下是一些使用Struts2实现AJAX的关键点: 1. `struts2-jquery-plugin`:这是一个流行的Struts2 AJAX插件,提供了许多预定义的AJAX行为和标签,如`sj:...

    struts2-s标签

    而在 Struts2 中,所有的标签都被统一管理,并通过在 JSP 文件头部声明 `&lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;` 来启用 Struts2 的标签库。这种方式简化了开发过程中的配置工作,使得开发者可以更加专注于...

    Struts2标签列表及说明

    * &lt;s:autocompleter&gt;:自动完成 &lt;s:combobox&gt; 标签的内容,这个是 AJAX 实现的 B: * &lt;s:bean&gt;:类似于 Struts1.x 中的 JavaBean 的值 C: * &lt;s:checkbox&gt;:复选框 * &lt;s:checkboxlist&gt;:多选框 * &lt;s:combobox&gt;:...

    struts2标签库

    - **`&lt;s:iterator&gt;`**:用于遍历集合中的元素,类似于Struts1中的`&lt;logic:iterate&gt;`,但Struts2的实现更为高效,并且支持更复杂的操作,如排序、过滤等。 #### 结论 Struts2标签库相比于Struts1提供了更多的功能和...

    struts2标签大全详解

    2. `&lt;s:action&gt;`:执行视图中的一个Action,可以传递参数并跳转到对应的Action结果页面。 3. `&lt;s:actionerror&gt;`:显示Action级错误信息,如果有错误则会被渲染出来。 4. `&lt;s:actionmessage&gt;`:显示Action级消息,...

    Struts2标签详解及具体实例解析

    这只是 Struts2 标签库中的一部分,还有许多其他标签,如 `&lt;s:label&gt;`、`&lt;s:radio&gt;`、`&lt;s:select&gt;` 等,它们各自都有特定的用途,帮助开发者更高效地构建动态网页。了解并熟练使用这些标签,可以极大地提升 Struts2 ...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_5_标签 共113页.pptx

    9. **`&lt;s:a&gt;`**:生成超链接。 这些标签大大增强了Struts2框架的功能性和灵活性,使得开发者能够更加高效地开发Web应用。 #### 七、Struts2 AJAX标签 Struts2框架内置了一套AJAX标签库,可以方便地实现AJAX功能,...

    A part Of Struts2 Ajax Basic Tag Explain

    其中,Ajax Basic Tag作为Struts2框架中的一个重要组成部分,通过将Ajax技术与传统的表单元素相结合,实现了页面局部刷新等功能,大大提升了用户体验。本文将详细介绍Struts2框架中部分Ajax Basic Tag的用法及应用...

    struts2标签大全

    &lt;s:a href="%{url}"&gt;Link Text&lt;/s:a&gt; ``` 其中`%{url}`表示链接的目标地址。 #### 2. `&lt;s:action&gt;` - 动作标签 这个标签用于执行一个指定的动作,并且可以嵌套其他UI组件来展示结果。例如: ```xml &lt;s:action name...

    struts2标签整理

    &lt;s:option value="2" label="Option2"/&gt; &lt;/s:optgroup&gt; ``` ##### 31. `&lt;s:optiontransferselect&gt;` - 选项传递选择标签 用于实现选项传递选择功能。 ```jsp &lt;s:optiontransferselect name="optionTransferSelect" ...

    struts2标签详解(收集).pdf

    3. AJAX标签:Struts2还提供了与AJAX相关的标签,如&lt;s:ajax&gt;,能够实现异步数据交互,增强用户体验。 在使用Struts2标签之前,需要进行以下配置: - 在JSP页面中引入标签库:`&lt;%@ taglib uri="/struts-tags" prefix...

    重要知识struts2标签详解收集.pdf

    3. AJAX标签:Struts2还提供了一组与AJAX相关的标签,如 `&lt;s:autocompleter&gt;`,用于实现自动补全功能,提升用户体验。 在使用Struts2标签之前,需要在JSP页面引入标签库,并在`web.xml`中配置Struts2过滤器。例如:...

    struts2标签详解(收集)汇编.pdf

    这只是Struts2标签库中的一部分,实际使用中还有许多其他标签,如`&lt;s:form&gt;`、`&lt;s:textfield&gt;`、`&lt;s:textarea&gt;`、`&lt;s:submit&gt;`等,它们分别用于创建表单、文本输入框、多行文本输入框以及提交按钮。 Struts2的标签...

    struts2标签用法

    11. **Ajax标签**:Struts2提供了`&lt;s:a&gt;`和`&lt;s:url&gt;`等支持Ajax的标签,可以实现异步更新页面部分区域。 12. **Error标签**:`&lt;s:fielderror&gt;`和`&lt;s:actionerror&gt;`用于显示Action或字段级别的错误信息。 13. **...

    struts2.0 taglib 标签库

    - `&lt;s:if&gt;`、`&lt;s:elseif&gt;`和`&lt;s:else&gt;`:实现条件判断。 - `&lt;s:iterator&gt;`:遍历集合,如List或Map,用于循环输出。 6. **辅助与控制标签**: - `&lt;s:debug&gt;`:用于调试,显示当前请求的详细信息。 - `&lt;s:div&gt;`...

    Struts2常用标签

    &lt;s:a href="%{exampleAction}"&gt;Example Link&lt;/s:a&gt; ``` 2. **&lt;s:action&gt; 执行Action** - **用途**:执行视图中的一个Action。 - **示例**: ```xml &lt;s:action name="exampleAction" /&gt; ``` 3. **&lt;s:action...

    struts2标签详细讲解

    2. `&lt;s:include&gt;`:包含其他Servlet或JSP页面,实现页面重用。 J. 集合遍历: 1. `&lt;s:iterator&gt;`:遍历集合对象,如List、Map等,用于循环输出数据。 2. `&lt;s:inputtransferselect&gt;`:创建可转移选择的输入框,允许...

    struts2标签解释

    `&lt;s:push&gt;`:将值推入栈中,使得`&lt;s:property&gt;`等标签能够访问这个值。 AA. `&lt;s:radio&gt;`:创建单选按钮,用于提供多个互斥的选择。 AB. `&lt;s:reset&gt;`:创建一个重置按钮,清空表单数据。 AC. `&lt;s:select&gt;`:创建...

    Struts2标签应用.

    6. `&lt;s:autocompleter&gt;`:实现自动完成功能,常用于搜索框,与Ajax结合使用。 B部分: 1. `&lt;s:bean&gt;`:类似于Struts1.x中的JavaBean标签,用于获取或设置JavaBean的属性值。 C部分: 1. `&lt;s:checkbox&gt;`:创建复选...

Global site tag (gtag.js) - Google Analytics