项目作完了,现在没什么事情做,继续研究一下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
分享到:
相关推荐
在Struts2中,我们可以利用Struts2的AJAX插件实现异步请求。以下是一些使用Struts2实现AJAX的关键点: 1. `struts2-jquery-plugin`:这是一个流行的Struts2 AJAX插件,提供了许多预定义的AJAX行为和标签,如`sj:...
而在 Struts2 中,所有的标签都被统一管理,并通过在 JSP 文件头部声明 `<%@ taglib prefix="s" uri="/struts-tags" %>` 来启用 Struts2 的标签库。这种方式简化了开发过程中的配置工作,使得开发者可以更加专注于...
* <s:autocompleter>:自动完成 <s:combobox> 标签的内容,这个是 AJAX 实现的 B: * <s:bean>:类似于 Struts1.x 中的 JavaBean 的值 C: * <s:checkbox>:复选框 * <s:checkboxlist>:多选框 * <s:combobox>:...
- **`<s:iterator>`**:用于遍历集合中的元素,类似于Struts1中的`<logic:iterate>`,但Struts2的实现更为高效,并且支持更复杂的操作,如排序、过滤等。 #### 结论 Struts2标签库相比于Struts1提供了更多的功能和...
2. `<s:action>`:执行视图中的一个Action,可以传递参数并跳转到对应的Action结果页面。 3. `<s:actionerror>`:显示Action级错误信息,如果有错误则会被渲染出来。 4. `<s:actionmessage>`:显示Action级消息,...
这只是 Struts2 标签库中的一部分,还有许多其他标签,如 `<s:label>`、`<s:radio>`、`<s:select>` 等,它们各自都有特定的用途,帮助开发者更高效地构建动态网页。了解并熟练使用这些标签,可以极大地提升 Struts2 ...
9. **`<s:a>`**:生成超链接。 这些标签大大增强了Struts2框架的功能性和灵活性,使得开发者能够更加高效地开发Web应用。 #### 七、Struts2 AJAX标签 Struts2框架内置了一套AJAX标签库,可以方便地实现AJAX功能,...
其中,Ajax Basic Tag作为Struts2框架中的一个重要组成部分,通过将Ajax技术与传统的表单元素相结合,实现了页面局部刷新等功能,大大提升了用户体验。本文将详细介绍Struts2框架中部分Ajax Basic Tag的用法及应用...
<s:a href="%{url}">Link Text</s:a> ``` 其中`%{url}`表示链接的目标地址。 #### 2. `<s:action>` - 动作标签 这个标签用于执行一个指定的动作,并且可以嵌套其他UI组件来展示结果。例如: ```xml <s:action name...
<s:option value="2" label="Option2"/> </s:optgroup> ``` ##### 31. `<s:optiontransferselect>` - 选项传递选择标签 用于实现选项传递选择功能。 ```jsp <s:optiontransferselect name="optionTransferSelect" ...
3. AJAX标签:Struts2还提供了与AJAX相关的标签,如<s:ajax>,能够实现异步数据交互,增强用户体验。 在使用Struts2标签之前,需要进行以下配置: - 在JSP页面中引入标签库:`<%@ taglib uri="/struts-tags" prefix...
3. AJAX标签:Struts2还提供了一组与AJAX相关的标签,如 `<s:autocompleter>`,用于实现自动补全功能,提升用户体验。 在使用Struts2标签之前,需要在JSP页面引入标签库,并在`web.xml`中配置Struts2过滤器。例如:...
这只是Struts2标签库中的一部分,实际使用中还有许多其他标签,如`<s:form>`、`<s:textfield>`、`<s:textarea>`、`<s:submit>`等,它们分别用于创建表单、文本输入框、多行文本输入框以及提交按钮。 Struts2的标签...
11. **Ajax标签**:Struts2提供了`<s:a>`和`<s:url>`等支持Ajax的标签,可以实现异步更新页面部分区域。 12. **Error标签**:`<s:fielderror>`和`<s:actionerror>`用于显示Action或字段级别的错误信息。 13. **...
- `<s:if>`、`<s:elseif>`和`<s:else>`:实现条件判断。 - `<s:iterator>`:遍历集合,如List或Map,用于循环输出。 6. **辅助与控制标签**: - `<s:debug>`:用于调试,显示当前请求的详细信息。 - `<s:div>`...
<s:a href="%{exampleAction}">Example Link</s:a> ``` 2. **<s:action> 执行Action** - **用途**:执行视图中的一个Action。 - **示例**: ```xml <s:action name="exampleAction" /> ``` 3. **<s:action...
2. `<s:include>`:包含其他Servlet或JSP页面,实现页面重用。 J. 集合遍历: 1. `<s:iterator>`:遍历集合对象,如List、Map等,用于循环输出数据。 2. `<s:inputtransferselect>`:创建可转移选择的输入框,允许...
`<s:push>`:将值推入栈中,使得`<s:property>`等标签能够访问这个值。 AA. `<s:radio>`:创建单选按钮,用于提供多个互斥的选择。 AB. `<s:reset>`:创建一个重置按钮,清空表单数据。 AC. `<s:select>`:创建...
6. `<s:autocompleter>`:实现自动完成功能,常用于搜索框,与Ajax结合使用。 B部分: 1. `<s:bean>`:类似于Struts1.x中的JavaBean标签,用于获取或设置JavaBean的属性值。 C部分: 1. `<s:checkbox>`:创建复选...