`

OGNL 取得request、session 的值

jsp 
阅读更多

一、

对于取pageContext、parameters、request、session、application 等处的属性值(假如有 name 属性)时我们用的 EL 表达式分别是:

${pageScope.name}、${param.name}、{$requestScope.name}、{$sessionScope.name}、{$applicationScope.name}

那么对应的 OGNL 的解决方案分别是:

<s:peroperty value="#attr.name"/> 
<s:property value="#parameters.name"/>
<s:property value="#request.name"/>
<s:property value="#session.name"/>
<s:property value="#application.name"/>
<s:textfield name="name"  value="%{#parameters.name}"/>

说明,attr 如果可以访问到,则访问 pageContext,否则将 依次搜索 pageContext、request、session、application 相应值,所以可用来访问 pageContext 中的值,可替代 EL 的 ${pageScope.name}。

 

二、jsp页面显示

 

   session 范围取值:  

      <s:property value="#session.mySessionPropKey"/>    

      <s:property value="#session['mySessionPropKey']"/>

  

    request 范围取值:  

      <s:property value="#request['myRequestPropKey']"/>  

 

在session中取值容易只要通过 %{#变量.属性名}即可,

<s:textfield value="request['myRequestPropKey']"/> 这种方式是取出不出数值的

 

label标签和文本标签取值,解决方法:

 

   session 取值:  

      <s:label label="编辑用户" value="%{#session.user.m_sUserName}" required="true"/>  

 

   request 取值:  

     <s:textfield name="bdef" value="% {#request.对象名.属性名}" size="50" maxlength="50" />  

分享到:
评论

相关推荐

    OGNL学习笔记,包含struts2中ognl的各种用法

    在示例代码中,`&lt;s:property&gt;`标签使用OGNL表达式`#request.req`、`#session.sess`和`#application.app`分别获取了Request、Session和Application范围内的属性值。这展示了OGNL如何灵活地访问不同级别的数据。 其次...

    ognl表达式 ognl表达式

    // 尝试从request范围内获取值 if (context != null && attribute == null) { // 如果request范围内没有找到,则尝试从ValueStack中获取 ValueStack stack = context.getValueStack_r(); attribute = stack....

    Struts2访问request,session,application的四种方式

    OGNL是Struts2中强大的表达式语言,它允许开发者直接在JSP或Action中通过表达式来访问request、session和application中的数据。例如,`&lt;s:property value="#session['key']" /&gt;`可以在页面上显示session中的值。在...

    OGNL百度百科OGNL百度百科

    - `#request.userName` 代表从 `HttpServletRequest` 获取 `userName` 的值。 - `#parameters.userName` 代表从 HTTP 请求参数中获取 `userName` 的值。 为了使 EL 表达式能够访问到 ValueStack 中的数据,Struts2 ...

    OGNL教程,简单,看完懂OGNL语言

    例如,`#request`、`#session`和`#parameters`分别代表请求、会话和参数范围内的对象。此外,`#`还可以用来引用OGNL表达式中的静态字段,如`#{java.lang.Math.random()}`。 2. `%`:在OGNL中,百分号`%`通常不直接...

    Struts2_OGNL

    4. 命名对象:包括在Servlet作用范围内的对象信息,如Request、Session、Application等。 在实际开发中,开发者可以通过OGNL表达式访问值栈中的Action属性、对象和其他信息。例如,使用标签可以输出Action中的属性...

    struts2-OGNL表达式测试

    OGNL可以直接访问值栈中的任何对象,例如`&lt;s:property value="#session.user.name" /&gt;`将显示会话中用户对象的姓名。 3. **动态方法调用**:OGNL支持对对象的方法进行动态调用,如`()}" /&gt;`,即使`getFullName()`在...

    struts2中的ognl

    在Struts2中,OGNL被广泛用于访问和操作应用程序中的对象属性,包括在请求、参数、session、application上下文中的数据。 1. **访问数据上下文**: - 在Struts2中,使用`#`符号可以访问特定的数据上下文,如`...

    struts2 ognl的用法

    当页面元素的值为表达式时,可以使用`%{}`来执行OGNL表达式,该表达式通常用于动态生成HTML代码或者页面元素的值。例如: ```java ,'key2':'value2'}"/&gt; ['key1']}" /&gt; ``` 上述代码将显示`value1`作为页面上的内容...

    OGNL表达式

    在Struts2中,OGNL表达式可以访问Action上下文中的变量,如`#session`、`#request`等。 8. **类型转换**: OGNL可以自动进行类型转换,但也可以通过`#type`来显式指定类型,如`'123'.#int`将字符串转换为整数。 ...

    学习OGNL在Struts2中工作原理

    - **Session Scope**:包含了用户会话的数据。 - **Parameters**:包含了HTTP请求的参数。 #### OGNL表达式的使用示例 下面通过几个具体的例子来说明如何在Struts2中使用OGNL: 1. **设置和获取数据**: 在...

    struts2_OGNL表达式ActionContext及valuesStack

    在Struts2中,OGNL上下文被扩展为一个更复杂的结构,包含request、session、application、context map、OgnlValueStack等层次。OgnlValueStack(或简称为value stack)是核心,它是一个栈结构,通常包含用户对象、...

    struts2创建 request response session application

    在Struts2框架中,理解并正确使用request、response、session和application范围对于有效地管理数据和状态至关重要。这些范围帮助我们在Web应用程序中实现逻辑和数据流的分离,提高代码的可维护性和可扩展性。通过...

    ognl表达式的用法

    - 在第29行、31行和33行,`&lt;s:property&gt;`标签使用OGNL表达式`#request.req`、`#session.sess`和`#application.app`分别访问了request、session和application范围内的属性值。这里的`#`符号标识了表达式的开始,`...

    struts2中OGNL的一些概念及原理说明

    ### Struts2中OGNL的概念及原理说明 #### 一、OGNL表达式的基本用法与特点 **OGNL**,即**Object Graphic Navigation Language**(对象图导航语言),是Struts2框架中用于处理对象及其属性的强大工具之一。通过...

    Struts2的标签库及OGNL表达式语言

    当Action执行完毕后,其实例会被压入到值栈(ValueStack)中,同时session、request以及其他对象则放入Context Map。开发者可以通过OGNL表达式从值栈中轻松获取和修改数据。 1. **OGNL的属性访问** - 使用`.`或`['...

    OGNL使用小结

    一是访问OGNL上下文和Action上下文,比如`#parameters`、`#request`、`#session`和`#application`分别对应HTTP请求的参数、请求属性、会话属性和应用程序范围内的属性。`#attr`则可以按照request -&gt; session -&gt; ...

    OGNL表达式2讲

    `#root`代表整个上下文,`#request`、`#session`、`#application`分别对应HTTP请求、会话和全局应用程序范围的属性。 6. **OGNL的安全性** 虽然OGNL提供了极大的灵活性,但未正确配置可能导致安全问题,如OGNL注入...

    struts2标签和OGNL表达式.pdf

    #applicationContext, #session, #request等符号是OGNL在Struts2中的内置对象,分别代表了不同作用域的数据存储。#applicationContext用于访问应用范围的对象,#session访问会话范围的对象,#request访问请求范围的...

Global site tag (gtag.js) - Google Analytics