Struts 1 学习笔记-3-1(EL表达式的使用)

发现EL使用起来挺方便,至少不用<%= %>了,如果单纯使用EL不需要引入jar包,本人是将其与Struts整合使用。

1.首先是我的Struts-config.xml

<? xml version="1.0" encoding="ISO-8859-1"  ?>

<! DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"
>

< struts-config >
    
< action-mappings >
        
< action  path ="/jstlel"  type ="com.codedestiny.struts.JSTLELAction" >
            
< forward  name ="success"  path ="/jstlel.jsp" ></ forward >
        
</ action >
    
</ action-mappings >
    
< message-resources  parameter ="MessageResources"   />
</ struts-config >

 

2.JSTLELAction.java

package  com.codedestiny.struts;

import  java.util.ArrayList;
import  java.util.HashMap;
import  java.util.Map;

import  javax.servlet.http.HttpServletRequest;
import  javax.servlet.http.HttpServletResponse;

import  org.apache.struts.action.Action;
import  org.apache.struts.action.ActionForm;
import  org.apache.struts.action.ActionForward;
import  org.apache.struts.action.ActionMapping;

public   class  JSTLELAction  extends  Action  {

    
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
        request.setAttribute(
"hello""Hello World");
        
        Group relatedGroup 
= new Group();
        relatedGroup.setName(
"SUN");
        User u 
= new User();
        u.setUsername(
"CodeDestiny");
        u.setAge(
21);
        u.setRelatedGroup(relatedGroup);
        request.setAttribute(
"user", u);
        
        Map
<String, Integer> hashMap = new HashMap<String, Integer>();
        hashMap.put(
"key1"1);
        hashMap.put(
"key2"2);
        request.setAttribute(
"map", hashMap);
        
        String[] array 
= new String[]{"a""b""c""d"};
        request.setAttribute(
"array", array);
        
        request.setAttribute(
"value1""");
        request.setAttribute(
"value2"new ArrayList());
        request.setAttribute(
"value3"new int[]{12});
        
        
return mapping.findForward("success");
    }

    
}

3.与之对应的jstlel.jsp

<% @ page language = " java "   import = " java.util.* "  pageEncoding = " GB18030 " %>
<! DOCTYPE HTML PUBLIC  " -//W3C//DTD HTML 4.01 Transitional//EN " >
< html >
  
< head >
  
</ head >
  
  
< body >
    
< h1 > 测试EL表达式 </ h1 >
    
    
< hr >
    
< li > 简单的EL表达式,其用法是 $ 和  { } </ li >< br >
    
1   +   2   =  $ {1 + 2}   < br >
    
2  ×  10   =  $ {2 * 10}   < br >
    
    
< hr >
    
< li > EL表达式隐式对象:pageScope,requestScope,sessionScope,applicationScope等,如果未指定scope,它的搜索顺序是:page ~ application </ li >< br >
    hello(jsp):
<%=  request.getAttribute( " hello " %>< br >
    hello(el): $
{hello} < br >
    hello(el scope
= requestScope): $ {requestScope.hello}
    
    
< hr >
    
< li > 使用.进行导航,也称存储器 </ li >< br >
    姓名: $
{ user.username }   < br >
    年龄: $
{ user.age }   < br >
    所属组: $
{ user.relatedGroup.name }   < br >
    
    
< hr >
    
< li > 使用存储器取出map中的值 </ li >< br >
    map.key1 : $
{ map.key1 }   < br >
    map.key2 : $
{ map.key2 }   < br >
    
    
< hr >
    
< li > 用[]对数组中的元素进行访问 </ li >< br >
    array[
1 ] : $ { array[1] }   < br >
    
    
< hr >
    
< li > EL支持的表达式 </ li >< br >
    
10   /   5   =  $ 10 / 5 }   < br >
    
10  div  5   =  $ 10 div 5 }   < br >
    
10   %   5   =  $ 10 % 5 }   < br >
    
10  mod  5   =  $ 10 mod 5 }   < br >
    
    
<!--  
        
==  在EL中可表示为 eq
        !
=  在EL中可表示为 ne
        
<  在EL中可表示为 lt
        
>  在EL中可表示为 gt
        
<=  在EL中可表示为 le
        
>=  在EL中可表示为 ge
        
&&  在EL中可表示为 and
        
||  在EL中可表示为 or
        
!  在EL中可表示为 not
        
/  在EL中可表示为 div
        
%  在EL中可表示为 mod
    
-->
    
    
< hr >
    
< li ></ li > 测试empty < br >
    value1 empty 
?  : $ { empty value1 }   < br >
    value2 empty 
?  : $ { empty value2 }   < br >
    value3 empty 
?  : $ { empty value3 }   < br >
    
  
</ body >
</ html >

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值