OGNL特殊符号的使用

---------------------siwuxie095

   

   

   

   

   

   

   

# 的使用

   

   

1、使用 # 获取 context 中的数据

   

「值栈分为 root 和 context 两部分」

   

   

   

2、如:向 Request 域放值,在页面中使用 OGNL 表达式获取值

   

1)编写 Action

   

   

   

@Override

public String execute() throws Exception {

 

HttpServletRequest request=ServletActionContext.getRequest();

 

request.setAttribute("reqName", "reqValue");

 

return SUCCESS;

}

   

   

   

2)编写页面

   

   

   

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

 

<!-- 引入 Struts2 标签库 -->

<%@ taglib uri="/struts-tags" prefix="s"%>

   

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>OGNL</title>

</head>

<body>

   

<!--

因为是获取 context 中的数据,所以写 OGNL 表达式时

要先添加特殊符号 #,再添加 context 中的 Key 名称,

最后添加放到域对象中的数据的名称

 

#request.reqName

 

注意:context Map 结构,即 Key-Value

-->

<s:property value="#request.reqName"></s:property>

 

</body>

</html>

   

   

   

   

   

   

   

% 的使用

   

   

1、不能直接在 Struts2 的表单标签中写 OGNL 表达式,会识别

不出来,只有加上 % 后才能识别

   

   

2、如:向 Request 域放值,在页面中使用 OGNL 表达式获取值

   

1)编写 Action(同上)

   

   

2)编写页面

   

   

   

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

 

<!-- 引入 Struts2 标签库 -->

<%@ taglib uri="/struts-tags" prefix="s"%>

   

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>OGNL</title>

</head>

<body>

 

<!-- % 强制解析 OGNL 表达式 -->

<s:textfield name="username" value="%{#request.reqName}"></s:textfield>

 

<!-- % 强制不解析 OGNL 表达式 -->

<s:textfield name="username" value="%{'#request.reqName'}"></s:textfield>

 

</body>

</html>

   

   

   

   

   

   

   

   

【made by siwuxie095】

转载于:https://www.cnblogs.com/siwuxie095/p/7358889.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值