推广: 自己开的淘宝店,主营汽车饰品、配件,大家可以进去看一下,最好是能帮哥们推广一下
店名: 轩辕车饰
http://shop36647698.taobao.com/
1.在http://struts.apache.org/网站上下载 struts-2.0包
看示例空项目
* 在示例空项目所使用的包有:
* commons-logging-1.0.4.jar 日志包
* freemarker-2.3.8.jar
* ognl-2.6.11.jar
* struts2-core-2.0.14.jar
* xwork-2.0.7.jar 原是Webwork支持的核心包
* 将最上面的五个包复制到
%项目%/WebRoot/WEB-INF/lib下
* 在Web.xml中添加
<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>
这是一个Filter,根据Mapping的指示,所有的提交都需要经过FilterDispatcher,也可参看空项目
* 制作JSP页面
<form action="login.action" method="post" >
username:<input type="text" name="username"/> <br />
password:<input type="text" name="password" /><br />
<input type="submit" value="submit" /><br />
</form>
* 制作一个LoginAction类,这是一个POJO类
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() throws Exception {
return "success";
}
Note:在页面表单里的内容是和这个类是对应的。。
对应提交到setUsername()方法,而不是和username字段相对应。
即:使用方法名匹配,而不是属性名匹配
* Struts.2.0 初步还得建立一个Struts.xml文件。这个文件是在源文件根目录(classes)下。
所以我们可以把它放在Src目录下,它自然会出现在classes目录下。这是两个文件,并且是同步的
用的时候当然是classes目录下的那个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"> <!-- 这部分内容可复制空项目 --> <package name="struts2" extends="struts-default"> <!-- action的name对应页面提交的login, class对应处理的LoginAction POJO类,处理方法是execute()--> <action name="login" class="com.test.action.LoginAction"> <!-- name是返回的字符串,转向result.jsp,当然也可以重定向,需另配置 --> <result name="success">/result.jsp</result> </action> </package>
* 这样的话,一个初步的Struts2.0示例就建立下来了。。。
在result.jsp页面中
<body> username:${requestScope.username }<br /> password:${requestScope.password } </body>
实验一下吧!