« 关于java中同步Synchronized的文章收藏« »J2EE,我们还需要什么--给陷于J2EE开发中忧郁的人们 »
struts2中freemarker访问request session Application parameter对象

  struts2 freemarker request session parameter

 使用Request里的Attribute值最简单的方法就是直接${AttributeName}或者安全一点:${AttributeName!"default Value"}


1.取Application范围的对象

xml 代码

   1. <#if Application.myApplicationAttribute?exists>  

   2.      ${Application.myApplicationAttribute}   

   3. </#if>  

或者 :  ${Application.myApplicationAttribute!"default value"}   

2.取session范围的对象

xml 代码

   1. <#if Session.mySessionAttribute?exists>  

   2.      ${Session.mySessionAttribute}   

   3. </#if>  

或者 :   ${Session.mySessionAttribute!"default value"}   

3.取request范围的对象

xml 代码

   1. <#if Request.myRequestAttribute?exists>  

   2.       ${Request.myRequestAttribute}   

   3. </#if>  

或者 :   ${Request.myRequestAttribute!"default value"}   

4.取request parameter范围的对象

xml 代码

   1. <#if Parameters.myParameter?exists>  

   2.      ${Parameters.myParameter}   

   3. </#if>  

或者 : ${Parameters.myParameter!"default value"}   

5.取context parameter范围的对象

xml 代码

   1. ${stack.findValue('#myContextParam')}  


 

 request 对象直接对应 HttpServletResponse

例如 获取 当前网页地址:  ${request.requestURL}

客户端IP地址:  ${request.getRemoteAddr()} 或者  ${request.remoteAddr}

提交方式:  ${request.method}

等等


 

 Request: 用于获取Request对象中的attribute对象。

例如:${Request["myRequestAttribute"]} 这样是直接在页面输出属性值。相当于request.getAtrribute("myRequestAttribute");

         如果要对这个值进行判断就必须使用如下格式:<#if Request["myRequestAttribute"]="edit">

或者 : ${Request["myRequestAttribute"]!"default value"}   

 

Session:用于获取Session 对象中的attribute对象。

用法参照Request的用法。

 

Application:用于获取 Application(ServletContext)对象中的attribute对象。

用法参照Request的用法。

 

RequestParameters:用 于获取Request对象的parameter参数(浏览器端发送的请求数据)

例如:${RequestParameters["myRequestAttribute"]}等同于 request.getParameter("myRequestAttribute");

 

Parameters:属性获取,依次从 RequestParameters、Request、Session、Application对象中获取对应属性\参数,一旦获取,则不再向下查找。

例如:${Parameters["myRequestAttribute"]}

 


Tags: Struts2  struts编程  freemarker   |

原创文章如转载,请注明:转载自:巴士飞扬-技术BLOG : http://www.busfly.net/

本文链接地址:http://www.busfly.net/post/freemarker-request-struts2.html

如果你喜欢本文,请顶一下,支持我,你的支持是我继续发好文章的最大动力。谢谢。
好东西需要分享,快把本文发给你的朋友吧~!~

     
相关文章:
  • 引用此留言  9.java培训  http://www.rhshixun.com.cn
  • 博客做的很漂亮呢!可惜我做的都是WordPress,z-blog听说不好上手,所以没敢用。
    小建议:上面的广告还是再大些居中吧,在我的火狐下显示文章上面的广告偏左,而且有些错版,很难看。
  • [删除]2010-5-25 16:15:41 回复该留言
  • 引用此留言  3.巴士飞扬  
  • 那代码就可以这里改

    <body
    <@decorator.getProperty property="body.onload" writeEntireProperty="true"></@decorator.getProperty>
    <@decorator.getProperty property="body.class" writeEntireProperty="true"></@decorator.getProperty>
    >
  • [删除]2010-5-16 17:31:20 回复该留言
  • 引用此留言  2.巴士飞扬  
  • freemarke可以使用JSP的标签。
    <#assign page=JspTaglibs["/WEB-INF/taglibs/sitemesh-page.tld"]>
    <#assign decorator=JspTaglibs["/WEB-INF/taglibs/sitemesh-decorator.tld"]>
  • [删除]2010-5-16 17:25:01 回复该留言
  • 引用此留言  1.巴士飞扬  
  • Sitemesh默认不添加Body的属性
    例如在Body中常用的onload方法在使用sitemesh后就会失效

    解决办法
    修改template文件

    如果template文件是jsp则可以修改为
    <body onload="<decorator:getProperty name="body.onload" />">
    </body>

    <body<decorator:getProperty property="body.onload" writeEntireProperty="true" />>
    </body>

    如果template文件是freemarker则可以修改为
    <body onload="${page.properties["body.onload"]?default("")}">
  • [删除]2010-5-16 17:17:01 回复该留言




◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
网站分类
分类最近文章
最近发表
最新评论及回复
最近留言
热文排行
随机推荐文章
Powered By Z-Blog   STYLE by busfly . FatMouse
Copyright © 2007 巴士飞扬技术博客. . 沪ICP备07027972号. 会员群1(J2EE为主):3769186.