今天开始学习一下struts2,之前没有用过webwork,所以有较困难的思想准备,不过根据浪曦的教程,做了第一个的struts2的程序,很顺利哈。
在官方网站下载了struts-2.0.11.2-all.zip。
然后在myeclips5.5中建立项目,导入包。整个目录如下:
[img]http://www.iteye.com/upload/attachment/43018/6cfa2540-28be-38b2-9413-3399390223c3.png[/img]
导入几个基本的包:
commons-logging-1.0.4.jar.
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.2.jar
xwork-2.0.2.jar
这些包在struts-2.0.11.2-all.zip中都有。注意的关键点是需要将这些包拷贝到WEB-INF的lib目录中。
配置web.xml
web.xml
写LoginAction.java
配置struts.xml,注意一个问题,和struts1x不同,这个文件需要放到classes目录,即在myeclips中,应该放到src目录中。
login.jsp页面
result.jsp
[color=red]补充:本例升级到2.1.6之后出错,需要增加两个包:commons-fileupload-*.jar、
commons-io-*.jar两个包[/color]
在官方网站下载了struts-2.0.11.2-all.zip。
然后在myeclips5.5中建立项目,导入包。整个目录如下:
[img]http://www.iteye.com/upload/attachment/43018/6cfa2540-28be-38b2-9413-3399390223c3.png[/img]
导入几个基本的包:
commons-logging-1.0.4.jar.
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.2.jar
xwork-2.0.2.jar
这些包在struts-2.0.11.2-all.zip中都有。注意的关键点是需要将这些包拷贝到WEB-INF的lib目录中。
配置web.xml
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
<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>
写LoginAction.java
package cn.redalx.struts2.study;
public class LoginAction {
private String username;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute() throws Exception
{
return "success";
}
}
配置struts.xml,注意一个问题,和struts1x不同,这个文件需要放到classes目录,即在myeclips中,应该放到src目录中。
<?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">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="cn.redalx.struts2.study.LoginAction">
<result>/result.jsp</result>
</action>
</package>
</struts>
login.jsp页面
<form action="login.action" method="post">
username:<input type="text" name="username"> <br>
password:<input type="password" name="password"><br>
<input type="submit" value="提交">
</form><br>
<!-- 需要注意,action的目标是login.action,这个是webwork的风格哈-->
result.jsp
username: ${requestScope.username } <br>
password: ${requestScope.password }<br>
<!--这里为了方便,用了EL-->
[color=red]补充:本例升级到2.1.6之后出错,需要增加两个包:commons-fileupload-*.jar、
commons-io-*.jar两个包[/color]