-
添加struts標(biāo)簽庫<%@? taglib? prefix="s"? uri="/struts-tags"? %>
驗(yàn)證表單,input自動返回,validate驗(yàn)證方法
查看全部 -
接收參數(shù)的3種方式:使用Action的屬性接收、使用DomainModel接收(使用一個對象把屬性封裝起來)、使用ModelDriven接收(需要實(shí)現(xiàn)ModelDriven接口,并對對象屬性進(jìn)行實(shí)例化)
查看全部 -
動態(tài)方法調(diào)用:實(shí)現(xiàn)一個action對應(yīng)多個請求的處理,避免創(chuàng)建太多的action。有3種方式:指定method屬性、感嘆號方式(官方不推薦的方式,需要開啟常量struts.enable.DynamicMethodInvocation)、通配符方式(官方推薦使用的方式,用到*和{1}進(jìn)行匹配)
查看全部 -
Action搜索順序:先匹配package的namespace,如果匹配到了,但是沒有找到action就報錯;如果沒匹配到,繼續(xù)往上一級路徑進(jìn)行匹配,直到默認(rèn)的namespace。
查看全部 -
1.struts.xml下的標(biāo)簽:struts、include(file)、package(name、extends、abstract、namespace:"")、interceptors、interceptor(name、class)、interceptor-stack(name)、interceptor-ref(name)、default-interceptor-ref(name)、global-results、action(name、class:ActionSupport、method調(diào)用action的方法名:execute)、default-action-ref(name)、result(name與action的返回值相同:success、type:dispatcher)、param(如果在action中,name對應(yīng)action中的get/set方法;......)、constant(name、value)、global-exception-mappings、exception-mapping(result、exception)
注:struts.xml通過constant等同于struts.properties中定義常量,package一般都會繼承struts-default
2.struts.properties中常用的鍵值:struts.i18n.encoding、struts.i18n.reload、struts.configruation.xml.reload、struts.devMode、struts.serve.static.browserCache、struts.action.extension、struts.url.http.port
查看全部 -
struts原來的核心過濾器是FilterDispatcher,現(xiàn)在是StrutsPrepareAndExecuteFilter;后者支持在action前添加過濾器
工作原理:客戶的請求HttpServletRequest經(jīng)過一系列的過濾器,由ActionMapper匹配到以.action為結(jié)尾的請求后,過濾器將action轉(zhuǎn)交到ActionProxy,它會通過ConfigurationManager讀取struts.xml的配置文件,根據(jù)配置文件找到相應(yīng)的action類,通過ActionProxy創(chuàng)建一個action的反向?qū)嵗?,?jīng)過一系列攔截器執(zhí)行到action,返回字符串對象result,再經(jīng)過一系列的攔截器通過HttpServletResponse返回給客戶。
查看全部 -
在web.xml文件中加過濾器filter;filter、filter-name、filter-class、filter-mapping、url-pattern
在struts.xml中加package,每個package(name、namespace)下可以有多個action(name、class),action下面是有子標(biāo)簽result(name、type)
查看全部 -
4.創(chuàng)建視圖result.jsp:(右鍵WebContent、JSP File
查看全部 -
3.配置strut.xml的映射
查看全部 -
2.strut.xml:在Java Resources中的src下右鍵、other、搜索xml創(chuàng)建,名稱為strut.xml,約束用準(zhǔn)備好的復(fù)制上去
3.創(chuàng)建action,注意繼承項(xiàng)目里的AcitonSupport(通過Browse...搜索
4.不指定方法名的情況用struts2的默認(rèn)方法,o/i Methods 中的execute();
可以在方法中打印一個輸出并返回成功的映射(界面)如
public String execute() throws Exception {
System. out. println("執(zhí)行Action");
return SUCCESS;
}
查看全部 -
注意事項(xiàng):創(chuàng)建Dynamic web project 記得勾選web.xml
??????????????????把需要用到的包放入WebContent(默認(rèn)名)WEB-INF中的lib下在項(xiàng)目名(HelloWorld)右鍵、BuildPath、AddJar
步驟1.配置web.xml:
<filter>標(biāo)簽中<filter-name>struts2</filter-name>與
<filter-mapping>標(biāo)簽中
<filter-name>struts2</filter- name>
一致,<filter-class></filter-class>中的內(nèi)容寫好后按下Ctrl + 鼠標(biāo)左鍵如果能跳轉(zhuǎn)到Class File Editor頁面說明寫入正確<url-pattern>/*</ur1- pattern>表示所有路徑都需要過濾
查看全部 -
局部結(jié)果:將<result>標(biāo)簽作為<action/>元素的子元素來處理。
全局結(jié)果:將<result/>作為<global-result/>元素的子元素的來處理,<global-result/>相當(dāng)于公共的處理結(jié)果集。
<result> ????<param?name="location">/index.jsp</param> ????<param?name="parse">true</param> </result>
name屬性的location:定義了該視圖對應(yīng)的實(shí)際視圖資源。
name屬性的parse:是否可以在實(shí)際視圖名字中使用OGNL表達(dá)式,struts默認(rèn)是true。
查看全部 -
1、配置XML
<action?name="login"?method="login"?class="com.action.LoginAction"> ????<result>/index.jsp</result> ????<result?name="input">/login.jsp</result> </action>
2、在方法里使用return INPUT 或者重寫validate方法
if(user.getUsername()==null||user.getUsername().equals("")){ ????this.addFieldError("username","用戶名不能為空"); ????return?INPUT; }
@Override public?void?validate()?{ ????if(user.getUsername()==null){ ????????this.addFieldError("username","用戶名不能為空"); ????} }
查看全部 -
處理結(jié)果類型
查看全部 -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
?? ?"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
?? ?"http://struts.apache.org/dtds/struts-2.3.dtd">
?? ?
<struts>
</struts>查看全部
舉報