OGNL Struts2の枠組み表現迅速リテラシー

免責事項:この記事はブロガーオリジナル記事です、続くBY CC 4.0著作権の契約、再現し、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/qq_41855420/article/details/102754440

、OGNLのプロフィール

OGNLは、グラフィックナビゲーション言語(オブジェクトグラフナビゲーション言語)頭字語、Struts2のオープンソースプロジェクトの統合、およびデフォルトの表現言語としてStruts2のフレームワークOGNLの使用であるオブジェクトです。OGNL式を使用するためにはStruts2のでは、Struts2のタグライブラリをインポートする必要があります。

メインスコープからデータをフェッチするため、JSPの前述した機能と同様OGNL EL式。
JSP EL式について、私のブログを参照してのJSPにJava WebにEL式

第二に、OGNLの簡単な使用

s:property类型于JSP的表达式,把value的值直接输出到页面
jsp表达式:【<jsp:setProperty property="" name=""/>】  	 
value属性的值就是一个OGNL表达式
如果想把value属性的值当字符串输出,加单引号即可

ここに画像を挿入説明

<%--
  Created by IntelliJ IDEA.
  User: hestyle
  Date: 2019/10/26
  Time: 11:19 上午
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%-- 使用OGNL表达式必须导入struts标签库 --%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>OGNL表达式</title>
</head>
<body>
    <%-- value属性表示需要取出的变量对应的名称 --%>
    <s:property value="OGNL"/><br>
    <%-- value属性中含有单引号,表示直接输出字符串"GNL表达式" --%>
    <s:property value="'OGNL表达式'"/>
</body>
</html>

ブラウザアクセスindex.jspページ
ここに画像を挿入説明

三、OGNL機能

①、访问对象方法
②、访问静态属性
③、访问静态方法

ここに画像を挿入説明

<%--
  Created by IntelliJ IDEA.
  User: hestyle
  Date: 2019/10/26
  Time: 11:19 上午
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%-- 使用OGNL表达式必须导入struts标签库 --%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>OGNL表达式</title>
</head>
<body>
    <%-- value属性表示需要取出的变量对应的名称 --%>
    <s:property value="'OGNL表达式 长度'"/>
    <%-- value属性中含有单引号,访问字符串的length()方法 --%>
    <s:property value="'OGNL表达式'.length()"/><br>
    <%-- 获取Long包装类中的常量,最大值 --%>
    <s:property value="'long类型的最大值'"/>
    <s:property value="@java.lang.Long@MAX_VALUE"/><br>
    <%-- 获取Math类中的静态常量,π --%>
    <s:property value="'π = '"/>
    <s:property value="@java.lang.Math@PI"/><br>
    <%-- 获取Math类中的静态生成随机数方法 --%>
    <s:property value="'随机数'"/>
    <s:property value="@java.lang.Math@random()"/><br>
</body>
</html>

ここに画像を挿入説明
注記 意味 \色{赤}注意: OGNLアクセス静的メソッド、定数する必要性によってstruts.xml、この機能をオンにします。
ここに画像を挿入説明

<!-- 开启ognl访问静态方法、常量的功能 -->
<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>

デフォルトではdefault.propertiesファイルに閉じています。
ここに画像を挿入説明

④、封装list数据
⑤、封装Map数据

ここに画像を挿入説明

<%--
  Created by IntelliJ IDEA.
  User: hestyle
  Date: 2019/10/26
  Time: 11:19 上午
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%-- 使用OGNL表达式必须导入struts标签库 --%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>OGNL表达式</title>
</head>
<body>
    <!-- label属性是浏览器显示的标签,name是表单后端的名称(如果是表单) -->
    <%-- 封装一个list --%>
    <s:radio list="{'女','男'}" label="性别" name="gender"/><br>
    <%-- 封装一个map(注意有一个#号) --%>
    <s:radio list="#{'true':'已婚','false':'未婚'}" label="是否已婚" name="married"/><br>
    <s:checkboxlist list="#{'编码':'编码','撩妹':'撩妹','开车':'开车'}" label="爱好" name="hobbies"/><br>
</body>
</html>

ここに画像を挿入説明

第四に、struts.xmlでの使用のOGNL式

前回のブログではStruts2のフレームワークをダウンロードしたファイルの動的セットのダウンロードファイル名のケースを示しています。
ここに画像を挿入説明ここに画像を挿入説明設定ファイルを変更しますと呼ばれるjava.net.URLEncoderクラスの静的メソッドをencode()
ここに画像を挿入説明

ここに画像を挿入説明 注記 意味 \色{赤}注意: でstruts.xmlでOGNL表現形式を使用して${变量名}髪にJSP EL式のように、。

おすすめ

転載: blog.csdn.net/qq_41855420/article/details/102754440