Struts2学习

以前就接触过Struts2,现在版本更新至2.1.6,有些改变,可根据struts2附带的实例学习,步骤大同小异,先HelloWorld,登陆,S2SH整合,参看网上很多的文章,总结编写。
[b]1.创建项目,引用基本jar包[/b]
commons-fileupload-1.2.1.jar
commons-logging-1.1.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
[b]2.编写配置文件[/b]
在web.xml中添加

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

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

在src目录中增加文件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">
<struts>
<package name="struts2" extends="struts-default">
<action name="MyHello" class="com.action.MyHello">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>

[b]3.MyHello.java [/b]

package com.action;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class MyHello extends ActionSupport {
public String execute() throws Exception {

HttpServletRequest request = ServletActionContext.getRequest();
String str = "Hello World";
request.setAttribute("hello", str);

return SUCCESS;
}
}

在index.jsp中body部分中添加${hello }即可实现

[b]关于零配置[/b]
虽然叫零配置,但有些配置还需要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">

<struts>
<!--访问 action的扩展名为空-->
<constant name="struts.action.extension" value="" />
<!--更改 action访问成功后默认访问WEB-INF目录下的content 使其访问page下文件-->
<constant name="struts.convention.result.path"
value="/WEB-INF/page" />
<!--action的名字根据大小写用-分开-->
<constant name="struts.convention.action.name.separator" value="-" />
<!--更改默认的配置,在带有web和action包下寻找action-->
<constant name="struts.convention.package.locators"
value="web,action" />
</struts>

详细说明请参看[url]http://javeye.iteye.com/blog/358744[/url]
在原有的基础上增加struts2-convention-plugin-2.1.6.jar
编写ShowResult.java

package com.web.action;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
@Results( { @Result(name = ActionSupport.SUCCESS, location = "result.jsp", type = "dispatcher") })
public class ShowResult extends ActionSupport {
private static final String SUCCESS = "success";

public String show() {
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("result", "this is result");
return SUCCESS;
}
}

在WEB-INF目录下新建page文件夹添加result.jsp,body中加入${result }即可实现
访问http://localhost:8000/ZeroS2/show-result!show即可,提示如果类名带Action,则默认会将Action自动去掉,并将字母小写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值