《Struts2_标签详解》.doc
文本预览下载声明
Struts2 标签详解
详细的说明了struts2所有标签
由整理版权属 以及 原作者。
由于标签太多难做目录索引,如果你觉得有目录索引更好,请到/p/myjdemo/downloads/list 下载CHM版本的Struts2标签详解,谢谢。
?a?
a标签创建一个HTML超链接,等价于HTML 的a? href=
示范代码:
s:a href=login.action登陆/s:a
?action?
使用action标签?可以允许在JSP页面中直接调用Action,因为需要调用Action,故可以指定需要被调用Action的name以及namespace。如果指定 了executeResult参数的属性值为true,该标签还会把Action的处理结果(视图支援)包含到本页面中来。action标签的属性:id:?可选属性,该属性将会作为该Action的引用IDname:?必填属性,指定该标签调用哪个Actionnamespace:?可选,指定该标签调用的Action所在的namespace.executeResult:?可选,指定是否要将Action的处理结果页面包含到本页面。默认是false,即不包含ignoreContextParams:?可选,它指定该页面中的请求参数是否需要传入调用的Action、默认是false,即将本页的请求参数传入被调用的Action。
下面是本示例应用中的Action类,包含连个处理逻辑。代码如下
public class TagAction extednds ActionSupport{????//封装用户请求参数的author属性????private String author;????//author的get和set的方法,省略……????public String execute() throws Exception????{????????return ? done;????}? ???
??? public String login() throws Exception????{????????ServletActionContext.getRequest().setAttribute(author,getAuthor());????????return done;????}}
上面的Action类包含两个处理逻辑,可以在struts.xml文件中通过指定method属性来将该Action类映射成两个逻辑Action。代码如下
package? name=lee extends=struts-default????!--定义第一个Action,使用lee.TagAction的execute方法作为处理逻辑--????action name=tag1? class=lee.TagAction????????result name=donesucc.jsp/result????/action
??? !--定义第二个Action,使用lee.TagAction的login方法作为处理逻辑--????action? name=tag2? class=lee.TagAction? method=“login”????????result?? name=done loginSucc.jsp /result????/action????/package
上面配置文件将一个Action类定义成两个逻辑Action,可以在JSP页面中通过s:action.../标签来调用这两个逻辑Action,部分jsp代码如下:
?????? 下面调用第一个Action,并将结果包含到本页面中。????s:action?? name=tage1? executeResult=“true”?/????????下面调用第二个Action,并将结果包含到本页面中。br????????阻止本页面请求参数传入Action? br????s:action?? name=“tag2”? executeResult=true? ignoreContextParams=true?/????/hr????下面调用第二个Action,且不将结果包含到本页面中。br????s: action?? name=tag2? executeResult=false?/????s:property?? value=#attr.author/
上面页面中,通过指定executeResult属性来控制是否将处理结果包含到本页面中;还可以通过ignoreContextParams属性来决定是否将本页面的请求参数出入Action。
?actionerror?
这个标签负责输出
显示全部