struts的使用,繁琐的配置是不是令你头疼,试想如果使用某种规则,从而可以避免或是减少对配置的依赖,那么我们的工作是不是有可以轻松许多了嘞,今天就给大家介绍struts2.3.8里面的convention plugin。通过它实现对struts配置的简化.
1. 开始之前,请参考文章struts2.3.8基础配置&Demo完成对struts环境的建置.此sample可直接在此代码基础上增加相关内容即可.
2.添加引用包:
struts2-convention-plugin-2.3.8.jar、asm-commons-3.3.jar、asm-3.3.jar
3. Add Action Class: WelcomeUserAction
public class WelcomeUserAction extends ActionSupport {
private String userName;
private String message;
public String execute() {
message = "Welcome " + userName;
return SUCCESS;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setMessage(String message) {
this.message = message;
}
public String getUserName() {
return userName;
}
public String getMessage() {
return message;
}
}
4.
修改struts2 filter为StrutsPrepareAndExecuteFilter
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter><!--org.apache.struts2.dispatcher.FilterDispatcher -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5. 修改struts.xml配置,增加
<constant name="struts.convention.result.path" value="/" />
备注:修改此处目的在于修改convention plugin对结果页存储的默认路径(默认值为WEB-INF/content下),将其修改为站点根目录.
如果此处不修改,则后面welcome-user.jsp页面存放路径置于WEB-INF/content下也可.
读者可以发现,此处并未配置result相关,此段由convention plugin根据配置,自动路由.
6. 于WebContent根目录下新增index.jsp
<%@ page language="java" contentType="text/html; charset=BIG5"
pageEncoding="BIG5"%>
<%@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>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>Hello World</title>
</head>
<body>
<s:form action="welcome-user" >
<s:textfield name="userName" label="User Name" />
<s:submit />
</s:form>
</body>
</html>
请注意此处的form action
7.
于WebContent根目录下新增welcome-user.jsp页面
<%@ page language="java" contentType="text/html; charset=BIG5"
pageEncoding="BIG5"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>Welcome User</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
8. 配置完成.开始测试.对于文章中需要的知识点.请从参考文章获取.谢谢!
9. 参考文章:
Struts2 练习:
http://www.dzone.com/tutorials/java/struts-2/struts-2-example/struts-2-annotation-example-1.html
Struts2采用convention plugin实现零配置: http://553284843.blog.163.com/blog/static/113035460201131652534860/
Struts2页面取值问题: http://blog.knowsky.com/192316.htm
Struts2、Spring、Hibernate 高效开发的最佳实践: http://www.ibm.com/developerworks/cn/java/j-lo-ssh/index.html?ca=drs-