當前位置:編程學習大全網 - 源碼下載 - jsp頁面通過Action裏的對象.屬性傳值 為什麽沒有穿過去

jsp頁面通過Action裏的對象.屬性傳值 為什麽沒有穿過去

檢查頁面的屬性名字的name是不是跟aciton中定義的壹致,如果不壹致action就獲取不到頁面的傳值。

例子如下:

表單中有個屬性是userId,那麽在aciton中接收參數就要這麽寫:

private String userId;

然後寫getter 和 setter 方法,這個值默認就傳進去了。

值棧中的Action實例

Struts2框架總是把Action實例放在棧頂。因為Action在值棧中,而值棧又是OGNL中的根,所以引用Action的屬性可以省略“#”標記,這也是為什麽我們在結果頁面中可以直接訪問Action的屬性的原因。

Struts2中的命名對象

Struts2還提供了壹些命名對象,這些對象沒有保存在值棧中,而是保存在ActionContext中,因此訪問這些對象需要使用“#”標記。這些命名對象都是Map類型。

parameters

用於訪問請求參數。如:#parameters['id']或#parameters.id,相當於調用了HttpServletRequest對象的getParameter()方法。

註意,parameters本質上是壹個使用HttpServletRequest對象中的請求參數構造的Map對象,壹量對象被創建(在調用Action實例之前就已經創建好了),它和HttpServletRequest對象就沒有了任何關系。

request

用於訪問請求屬性。如:#request['user']或#request.user,相當於調用了HttpServletRequest對象的getAttribute()方法。

session

用於訪問session屬性。如:#session['user']或#session.user,相當於調用了HttpSession對象的getAttribute()方法。

application

用於訪問application屬性。如:#application['user']或#application.user,相當於調用了ServletContext的getAttribute()方法。

attr

如果PageContext可用,則訪問PageContext,否則依次搜索request、session和application對象。

  • 上一篇:SpringSecurity Oauth2Authentication對象使用
  • 下一篇:通用權限管理框架源代碼
  • copyright 2024編程學習大全網