El表現関連
2341 ワード
久しぶりにブログを書きました。大学時代のノートを整理します。
1無効EL式
Ajspで禁止されているel表現は、isELIgnore=「true」というjspコマンドを使っていますので、大きさに注意して書いてください。
2 Elの中のemptyとnullの違い
nameパラメータがありますが、入力が空ならemptyはtrue、nullはfalseです。
emptyはelで「」とnullの処理は全部trueに戻ります。==nullは「」にfalseを返して、nullに対してtrueに戻ります。
3 EL式の暗黙のオブジェクト
EL式は11個の隠れたオブジェクトを定義しており、この11個のオブジェクトを使ってsession、cookie、HttpHeader、ユーザーがフォーム(param)などを提出するのに便利です。
application Scape
アプリケーション範囲内のscoped変数からなる集合
Cookie
すべてのクッキーからなる集合
ヘッド
HTTP要求ヘッダ、文字列
header Values
HTTP要求ヘッダ、文字列セット
init Param
すべてのアプリケーションのパラメータ名からなるセット
pageContext
現在のページのjavax.servlet.jsp.PageContextオブジェクト
pageSchope
ページ範囲内のすべてのオブジェクトの集合
Param
すべての要求パラメータ文字列からなるセット
paramValues
すべての文字列セットの要求パラメータ
request Scrope
すべての要求範囲のオブジェクトの集合
session Scrope
すべてのセッション範囲のオブジェクトのセット
どのようにheaderの値とパラメータの中の値を隠すオブジェクトを使用しますか?
${header[host]}
ここでHTTP接続ヘッドのhost値を取得します。
${header[accept]}
ここでHTTPヘッダのaccept値を取得します。
${header[user-agent]}
ここでHTTPヘッダのuser-agent値を取得します。
${param}
myname
${param.name}
myname
${param[alies]
now.net.cn
${param.alies}
now.net.cn
参考文献:http://ks.cn.yahoo.com/question/1590000738259.html
まとめてみます。elはjstlの基礎です。主にjstlの書き方を熟知しています。
1無効EL式
Ajspで禁止されているel表現は、isELIgnore=「true」というjspコマンドを使っていますので、大きさに注意して書いてください。
<%@ page isELIgnored="true" %>
<%
pageContext.setAttribute("hello", "Hello World");
%>
${hello}
Bはweb.xmlで禁止されています。<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>true</el-ignored>
</jsp-property-group>
</jsp-config>
Cはweb.xmlのバージョンを2.3に変更しました。ELは2.4以降です。<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
</web-app>
参考文献:http://blog.sina.com.cn/s/blog_406127500100 azhi.2 Elの中のemptyとnullの違い
<%@page pageEncoding="utf-8" %><br>name:${param.name }<br />
empty : ${empty param.name }<br />
==null :${param.name == null }
nameパラメータがないならemptyはture、nullはtrueです。nameパラメータがありますが、入力が空ならemptyはtrue、nullはfalseです。
emptyはelで「」とnullの処理は全部trueに戻ります。==nullは「」にfalseを返して、nullに対してtrueに戻ります。
3 EL式の暗黙のオブジェクト
EL式は11個の隠れたオブジェクトを定義しており、この11個のオブジェクトを使ってsession、cookie、HttpHeader、ユーザーがフォーム(param)などを提出するのに便利です。
application Scape
アプリケーション範囲内のscoped変数からなる集合
Cookie
すべてのクッキーからなる集合
ヘッド
HTTP要求ヘッダ、文字列
header Values
HTTP要求ヘッダ、文字列セット
init Param
すべてのアプリケーションのパラメータ名からなるセット
pageContext
現在のページのjavax.servlet.jsp.PageContextオブジェクト
pageSchope
ページ範囲内のすべてのオブジェクトの集合
Param
すべての要求パラメータ文字列からなるセット
paramValues
すべての文字列セットの要求パラメータ
request Scrope
すべての要求範囲のオブジェクトの集合
session Scrope
すべてのセッション範囲のオブジェクトのセット
どのようにheaderの値とパラメータの中の値を隠すオブジェクトを使用しますか?
${header[host]}
ここでHTTP接続ヘッドのhost値を取得します。
${header[accept]}
ここでHTTPヘッダのaccept値を取得します。
${header[user-agent]}
ここでHTTPヘッダのuser-agent値を取得します。
${param}
myname
${param.name}
myname
${param[alies]
now.net.cn
${param.alies}
now.net.cn
まとめてみます。elはjstlの基礎です。主にjstlの書き方を熟知しています。