1. 程式人生 > >struts---action和頁面間互相傳值

struts---action和頁面間互相傳值

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}。