您的位置:首页 > Web前端 > JavaScript

标签 EL和JSTL和自定义标签 (一)

2017-12-26 10:54 309 查看
EL 全称Expression Language

功能是一样的:<% out.print(str); %>\<%=str %>\${str}

语法结构:${sessionScope.use.sex}

如果不用EL:

User user = (User)session.getAttribute("user");

String sex = user.getSex();

Out.print(sex);

语法结构:${sessionScope.use["sex"]}"sex"为对象,如果没有引号就为对象,使用更广

String str = "sex"

${sessionScope.use[str]}

语法结构:${sessionScope.shoppingCart[0]}是shoppingCart是一个集合,取第一个

JSP有9个隐含对象,EL有11个

普通跳转使用EL

<% application.setAttribute("msgA","Welcome Application");

session.setAttribute("msgS","Welcome Session");

request.setAttribute("msgR","Welcome Request"); 

Customer cus = new Customer("001","3423");

ArrayList phones = new ArrayList();

phones.add("678987"); phones.add("786790"); cus.setPhones(phones);

session.setAttribute("cus",cus);

//集合里有JavaBean

ArrayList cuses = new ArrayList();

cuses.add(new Customer("111","111"));

cuses.add(new Customer("333","333"));

session.setAttribute("cuses",cuses);

response.addCookie(new Cookie("username","Tom"));

%>

<a href="p2.jsp?m=3&n=4">到达页面2</a>

跳转后页面

<body>

application的内容:${applicationScope.msgA};<BR>

session的内容:${sessionScope.msgS};<HR>

request的内容无法显示:${requestScope.msgR};<BR>

可以省略,系统可以自动寻找(page-request-session-application):${msgA},${msgS}

打印JavaBean的值:${cus.account},${cus.password}

JavaBean内集合的内容是:${cus.phones[0]},${cus.phones[1]}

集合内的JavaBean的内容是:${cuses[0].account},${cuses[0].password};${cuses

[1].account},${cuses[1].password}

参数m:${param.m},参数n:${param.n}

Cookies username的值是:${cookie.username.value}

初始化参数encoding是:${initParam.encoding}

EL可以和常量混用,但是表达式是不行的

<stu:displayBySA add="${str}南"></stu:displayBySA>

错误:<stu:displayBySA add="<% session.getAttribute("str").toString()%>南"></stu:displayBySA>

正确:<stu:displayBySA add="<% session.getAttribute("str").toString() + "南"%>"></stu:displayBySA>

</body>

在web.xml内配置

<context-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>

</comtext-param>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: