<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,  comments - 11,  trackbacks - 0

    <?xml:namespace prefix = st1 />1.1.1 業務控制器

    為本示例建立一個業務控制器,該控制器用到了代碼8.1中定義的Person人員信息類。該業務控制器如代碼8.4所示。

    代碼8.4 Struts 2OGNL示例業務控制器

    package ch8;
    import java.util.Date;
    import java.util.LinkedList;
    import java.util.List;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.struts2.ServletActionContext;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;
    public class OgnlAction extends ActionSupport {
    //List
    類型屬性
    private List persons;
    //execute
    方法
    public String execute() throws Exception {
    //
    獲得ActionContext實例,以便訪問Servlet API
    ActionContext ctx = ActionContext.getContext();
    //
    存入application
    ctx.getApplication().put("msg", "application
    信息");
    //
    保存session
    ctx.getSession().put("msg", "seesion
    信息");
    //
    保存request信息
    HttpServletRequest request = ServletActionContext.getRequest();
    request.setAttribute("msg", "request
    信息");
    //
    persons賦值
    persons = new LinkedList();
    Person person1=new Person();
    person1.setName("pla1");
    person1.setAge(26);
    person1.setBirthday(new Date());
    persons.add(person1);

    Person person2=new Person();
    person2.setName("pla2");
    person2.setAge(36);
    person2.setBirthday(new Date());
    persons.add(person2);
    Person person3=new Person();
    person3.setName("pla3");
    person3.setAge(16);
    person3.setBirthday(new Date());
    persons.add(person3);
    return SUCCESS;
    }
    public List getPersons() {
    return persons;
    }
    public void setPersons(List persons) {
    this.persons = persons;
    }
    }

    該業務控制器分別在applicationsessionrequest中存入名為“msg”的字符串信息,另外定義了一個List類型屬性,同時添加了兩個Person類型元素。在配置文件中增加了相應的配置,代碼如下:


    /ch8/showognl.jsp

    1.1.2 JSP視圖

    showognl.jsp是使用了OGNL表達式的JSP視圖,視圖用來顯示Action中處理的各種信息,讀者可以看到,使用OGNL表達式,代碼更加簡潔和直觀,如代碼8.5所示。

    代碼8.5使用OGNL表達式的JSP視圖


    http://www.w3.org/TR/ xhtml1/DTD/xhtml1-transitional.dtd">
    http://www.w3.org/1999/xhtml">

    訪問OGNL上下文和Action上下文

    parameters: 
    request.msg: 
    session.msg: 
    application.msg: 
    attr.msg: 
    
    
    用于過濾和投影(projecting)集合
    年齡大于20
    1.???????????????????????   - 年齡:
    姓名為pla1的年齡: 
    
    
    構造Map
    The value of key "foo1" is 

    1.1.3 運行示例

    在瀏覽器中輸入http://localhost:8080/bookcode/ch8/OgnlAction.action?msg=hello,運行結果如圖8.3所示。

    8.3 Struts 2中使用OGNL表達式

    說明

    本示例演示了如何使用OGNL表達式來訪問OGNL上下文和值棧,同時演示了如何使用OGNL表達式進行集合操作。對讀者深入理解Struts 2OGNL表達式的使用有所幫助。

    posted on 2009-08-15 17:29 jadmin 閱讀(86) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av无码成h人动漫无遮挡| 四虎影在线永久免费观看| 亚洲精品自在在线观看| 夜夜爽妓女8888视频免费观看| 永久免费无码网站在线观看| 亚洲变态另类一区二区三区| 国产高清在线免费| 国产成人综合亚洲绿色| 亚洲AV成人潮喷综合网| 一级黄色毛片免费看| 久久久精品国产亚洲成人满18免费网站| 337p日本欧洲亚洲大胆人人| 亚洲国产精品国产自在在线| 国产免费福利体检区久久| 国产亚洲人成无码网在线观看 | 国产成人免费ā片在线观看老同学 | 国产亚洲精品无码拍拍拍色欲| 国产精品成人啪精品视频免费| 国产亚洲精品看片在线观看| 全免费a级毛片免费看| 亚洲区精品久久一区二区三区| 青苹果乐园免费高清在线| 亚洲精品无码一区二区| 亚洲熟妇少妇任你躁在线观看无码| 国产在线播放线91免费 | 亚洲特级aaaaaa毛片| 免费的涩涩视频在线播放| 又黄又大的激情视频在线观看免费视频社区在线 | 亚洲天堂一区二区| 无码免费午夜福利片在线| 亚洲avav天堂av在线网毛片| 国产亚洲精品精品国产亚洲综合 | 亚洲色欲色欱wwW在线| 亚洲国产精品成人网址天堂| 久久国产乱子精品免费女| 亚洲 暴爽 AV人人爽日日碰| 亚洲 小说区 图片区 都市| 热re99久久6国产精品免费| 亚洲成AV人影片在线观看| 亚洲成AV人片在线观看无| 成人爽A毛片免费看|