struts---action和頁面間互相傳值
阿新 • • 發佈:2019-02-09
1.預設配置下的excute方法傳值
這種方法很常見,大家基本上也都使用這一種最基本的方式,如:
2.經過自定義配置的action和頁面間的傳值
在struts.xml中的action配置如下:
<action name="*/*/*" class="{2}Action" method="{3}">
<result name="{3}" type="httl">/{1}/{2}.httl</result>
</action>
程式碼解析:
如圖中people.httl的頁面,它的訪問路徑為:http://localhost:8080/工程名/changtop/top/view.do
它對應的Action的名子應為TopAction。
呼叫這一連結就直接進入TopAction中的view()方法中。
然而,在該頁面中進行後臺的操作,又要呼叫TopAction中的其他方法時,就需要在form表單的action中寫入要呼叫的方法。
3.action讀取url的引數
呼叫http://localhost:8080/工程名/changtop/top/view.do?name=123
public String view() {
ActionContext cxt = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest)cxt.get(ServletActionContext.HTTP_REQUEST);
String name = (String)request.getAttribute("name" ); //獲取名為attrName的request屬性的值
project = dao.findByName(name);
this.model = project;
return "view";
}
該方法就會向資料庫中查詢name=123的project 並返回給頁面。
model是在BaseAction中定義的屬性,會直接對映到前端的頁面,如${model.name}。