• EL表达式学习(一) 2018-05-02 09:35:17
    一、初次接触EL表达式:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%> <!DOCTYPE HTML PUBLIC "...

    一、初次接触EL表达式:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>EL表达式接触</title>
      </head>
      <body>
    	<%
    	String name = "mzy";
    	// 把变量放入域对象中           name    value
    	pageContext.setAttribute("name", name);
    	pageContext.setAttribute("name", name, PageContext.REQUEST_SCOPE);
    	 %>
    	 <%=name %>
       	<br/>
       	EL表达式:${name}
       	<br/>
       	<%-- 
       	1) 以上的写法,EL从四个域中自动搜索
       	${name} 等价于<%=pageContext.findAttribute("name") %>
       	--%>
       	
       	<%-- 
       	2) EL从指定的域中获取
       		pageScope:page域
       		requestScope:request域
       		sessionScope:session域
       		applicationScope:application域
       	 --%>
       	指定域获取的EL:${pageScope.name}
       	${name }
       	 <%
    		response.sendRedirect("04pre_04el.jsp");
    	 %>
      </body>
    </html>

    二、使用EL表达式从不同类型的容器中获得数据:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>
    <%@ page import="entity.*" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>EL表达式获取不同类型的数据</title>
      </head>
      <body>
       <%--
       1) 普通的字符串
        --%>
        <%
        	String email = "zhangsan@qq.com";
        	// 一定要把数据放入域中
        	pageContext.setAttribute("email", email);
         %>
        	 普通字符串:${email }
         <hr/>
         <%--
         2) 普通的对象
         EL表达式的属性表示调用对象的getXX方法。例如
         stu.name 调用Student对象的getName()方法 
          --%>
          <%
          Student stu = new Student("mzy", "123456");
          pageContext.setAttribute("stu", stu);
           %>
           普通的对象:${stu} <br/>
           对象的属性: ${stu.name } ---- ${stu.id }  
        <hr/>
        <%--
        3) 数组或List集合(集合只能是List集合)
         --%>
         <%
         	// 数组
         	Student[] stus = new Student[3];
         	stus[0] = new Student("Jack", "123456");
         	stus[1] = new Student("Bob", "123456");
         	stus[2] = new Student("Rose", "123456");
         	
         	pageContext.setAttribute("stus", stus);
         	// List
         	List<Student> list = new ArrayList<Student>();
         	list.add(new Student("Jack", "654321"));
         	list.add(new Student("Bob", "654321"));
         	list.add(new Student("Rose", "654321"));
         	pageContext.setAttribute("list", list);
          %>
          <%--
          		在EL表达式中,不能循环,取元素只能单个单个的取		
           --%>
           	数组:<br/>
           ${stus[0].name } -- ${stus[0].id }<br/>
           ${stus[1].name } -- ${stus[1].id }<br/>
           ${stus[2].name } -- ${stus[2].id }<br/>
           <hr/>
           list集合:<br/>
           ${list[0].name } -- ${list[0].id }<br/>
           ${list[1].name } -- ${list[1].id }<br/>
           ${list[2].name } -- ${list[2].id }<br/>
           <hr/>
           <%--
            4) Map集合     
              --%>
              <%
              	Map<String,Student> map = new HashMap<String,Student>();
              	map.put("001",new Student("eric","123456"));
              	map.put("002",new Student("jacky","123456"));
              	map.put("003",new Student("rose","123456"));
              	pageContext.setAttribute("map",map);
               %>
               Map集合: <br/>
               ${map['001'].name } - ${map['001'].id }<br/>
               ${map['002'].name } - ${map['002'].id }<br/>
               ${map['003'].name } - ${map['003'].id }<br/>
      </body>
    </html>
    

    三、EL中可执行的算式:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false" %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>EL中可以执行的算式</title>
      </head>
      <body>
       <%--
       	1) 算数表达式: + - * /
        --%>
       <%
       		int a = 10;
       		int b = 5;
       		pageContext.setAttribute("a", a);
       		pageContext.setAttribute("b", b);
        %>
        ${a+b }<br>
        ${a-b }<br>
        ${a*b }<br>
        <hr>
        
        <%-- 
        2) 比较表达式:> < >= <=	
         --%>
        ${a>b }<br>
        ${a==b }<br>
        <hr>
        
        <%--
        3) 逻辑表达式: &&、||、! 
        --%>
        ${true&&true }<br>
        ${true||false }<br>
        ${!true }<br>
        ${!(a>b) }
        <hr/>
    	<%--
    	4) 判空表达式	empty
    		null: == null
    		空字符串:==""
    	 --%>    
        <%
        // String name = null;
        String name01 = null;
        String name02 = "";
        pageContext.setAttribute("name01", name01);
        pageContext.setAttribute("name02", name02);
         %>
         null:${name01 == null }<br>
               空字符串:${name02 == "" }<br>
         null或空字符串:${name01 == null || name01 =="" }<br>
         null或空字符串可以直接用empty进行判断:${empty name01 }
      </body>
    </html>
    




    展开全文
  • 练习JavaWeb项目时,报错javax.el.PropertyNotFoundException,原因是EL表达式里面的属性和pojo里面的属性名字没有对上,范了个低级错误。 jsp中: <li>欢迎您,${loginUser.username}!</li> ...
  • Hibernate Validator 方法界别验证,通过AOP实现 spring已经支持方法界别的参数验证了,我们只需要配置Bean就好了,然后在需要验证的类上面加上@Validated就可以了 <!-- bean级别的校验 方法中的参数bean必须添加@...
  • 今天在学习springmvc-jsr303的时候,当我遇到使用@Range,@size注解的时候(涉及限定数字范围),报了一下异常 ...第二解救方案:找到外置tomcat目录下的Lib,强制删除el-api.jar,并用javax-el-x.y.z.jar, el-api-x.y....
  • 看完Email后我惊奇的发现,虽然开发java项目已有两年,却从没有使用过JSP标准标签库,从开始学习的sturts1到今天的struts2,都一直在使用这些开源框架自带的标签库,即使最初学习jsp-servlet的时候,使用的好...
  • 我在学习OA工作流时后端从数据库查出来数据成功,但是在前端使用 就报空指针异常,产考星星喵文章解决点击打开链接java.lang.NullPointerException at javax.el.CompositeELResolver.add(CompositeELResolver....
  • Tomcat javax/el/ExpressionFactory 2013-12-17 15:11:09
    发布工程时,抛出以下异常: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory. 将javaee.jar拷贝一份到tomcat的common\lib目录下,问题解决. (javaee.jar、jsf-api.jar、jsf-impl.jar、jstl-1.2.jar)可以...
  • 转载:   今天收到一封Email,是应聘者的考核项目。Email中他提到:项目中使用了JSTL(JSP标准标签库),但是却不能正常使用,自己无法解决这个...一直在使用这些开源框架自带的标签库,即使最初学习jsp-servl...
  • javax.validation的基本使用 2018-11-27 19:41:03
    背景:  一般系统对表单的...在公司项目里看到validation的使用,再此做个简单学习记录。 例子学习:  创建一个maven项目,pom.xml 如下: (这个文件还报“web.xml is missing and &lt;failOnMissingWeb...
  • javax.el.PropertyNotFoundException: Property ‘id’ not found on type java.lang.String 相信大家在学习EL表达式的时候会碰见这样一个错误 在编译工具里面不会报错,但是在访问的时候就会出现这个错误,当时在...
  • 小白刚开始学习SpringBoot,结果第一个HelloWorld程序死活跑不起来,报: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [NonLoginAuthenticator...
  • JavaWeb:HTTP Status 500 - An exception occurred processing JSP page /ShowInfo.jsp at line 34---javax.el.PropertyNotFoundException: Property 'id' not found on type java.lang.String
  • 最近一直在学习activiti6 在xml中注入bean的时候,抛出了异常,说一个NoClassDefFoundError,没注意看,以为Class没有找到,我也没有用这个玩意啊! 再仔细一看,NoClassDefFoundError啊!不是 ...
  • linux上weblogic 环境报错:java.lang.NoSuchMethodError: javax.el.ELResolver.invoke(Ljavax/el/ELContext;Ljava/lang/Object;Ljava/ 跪求大神解答,百度的各种方法都试了,也重装了weblogic还是不行! 欢迎使用...
  • 人啊,还是得下功夫自己好好学习一下才行的。技术上,大家需要踏踏实实的,一步一个脚印的往前走。 越来越觉得博客写的好就一定行吗?自己总结一下,就知道写的都是烂大街的东西,没有自己的见解与实践,哎。悲哀。...
  • Tomcat连HBase报错: ... 2019-01-10 20:44:09
    Tomcat中连接HBase数据库,...HTTP Status 500 - java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationConte...
  • 朕 JAVAEE 实验03 实验报告 2019-11-08 21:20:06
    javaBean的使用,同页面的值获取,不同页面传值的方法,EL表达式,JSTL的基本用法 getInfoPage页面中,能通过EL表达式直接与java类交互,输出相应结果。 easyJSTL页面中,实现了通过J...
  • 源地址:... Bean Validation 1.1当前实现是hibernate validator 5,且spring4才支持。接下来我们从以下几个方法讲解Bean ... Validation 1.1,当然不一定是新特性: ... 集成Bean Validati
  • jsf el javax/el/ExpressionFactory 2019-01-14 19:44:44
    java.lang.NoClassDefFoundError: javax/el/ExpressionFactory at org.apache.myfaces.webapp.StartupServletContextListener.getFacesInitializer(StartupServletContextListener.java:91) at org.apache....
1 2 3 4 5 ... 20
收藏数 4,996
精华内容 1,998