STRUTS2 基本知识(疯狂书)

来源:互联网 发布:python dateutil 编辑:程序博客网 时间:2024/06/04 18:50

Action类里的属性可以封装请求参数与处理结果。
比如action类里有String tip;
jsp可以用
<s:property value="tip">
输出

Action访问servletAPI

利用ActionContext类,其中有几个方法
Object get
Map getApplication
Static ActionContext getContext
Map getParameters
Map getSession
void setApplication
setSession

eg:

ActionContext ctx = ActionContext.getContext();cxt.getApplication.get("name");cxt.getApplication.put("name",name);cxt.getSession.get("name");

Action直接访问
三个接口:
ServletContextAware(必须实现setServletContext方法)
ServletRequestAware()
ServletResponseAware()
eg:

public class LoginAcion     implements Action,ServletResponseAware    {        private HttpServletResponse response;        public void setServletResponse(HttpServletResponse response)        {            this.response = response;        }    public String execute()throws Exception{            response.addCookie(C);        }

借助ServletAcionContext访问ServletAPI

几个方法:
getPageContext()
getRequest()
getResponse()
getServletContext()
egServletActionContext.getResponse.addCookie(c);

struts.xml:
如果package的namespace指定了,则这个Action的URL为命名空间/xx.action
通配符:
eg:

<action name="*_*", method="{2}", class="com.action.{1}">前台请求为:Book_Sava.action

可以配置默认action

<default-action-ref name="simpleAction"/><action name="simpleAction" class="com.action.SimpleAction">

struts2的结果类型
chain、dispatcher、
redirect(重定向到视图资源):请求的属性和参数全部丢失,等价于调用HttpServletResponse的sendRedirect(String)
redirectAction(一个action处理完后重定向到另一个action,struts.xml可以配置actionName和namespace两个参数)、stream(文件下载)、plainText(实际视图(jsp)的源代码,有location和charSet两个参数)

preResultListener是一个监听器接口,在处理action与返回result之前被回调

eg:

public String execute() throws Exception{    ActionInvocation invocation = ActionContext.getContext()    .getActionInvocation();    invocation.addPreResultListener(new PreResultListener()    {        public void beforeResult(ActionInvocation invocation,        String resultCode)        {            System.out.println("返回的逻辑视图名为"+resultCode);             }    }}

S标签
<%@taglib prefix=”s” uri=”/struts-tags”%>
OGNL表达式

0 0