el表达式的问题

问题描述

<select name="phototype"> <%List list=(List)request.getSession().getAttribute("album"); for(int i=0;i<list.size();i++){%> <option value="<%=list.get(i)%>"><%=list.get(i)%></option> <%} %> </select>是从数据库中取几个String,然后在页面得下拉框中显示,好长时间没用el表达式,有点忘记了!方法 public List<String> getAlbum(HttpServletRequest request,ActionForm form )throws Exception { con=MyJdbc.getConnection(); String getAlbumSql="select phototype from phototype"; PreparedStatement pst=con.prepareStatement(getAlbumSql); ToUploadPhotoForm toUploadPhotoForm = (ToUploadPhotoForm )form; ResultSet rs=pst.executeQuery(); List<String> list=new ArrayList<String>(); while(rs.next()){ list.add(rs.getString("phototype")); } return list; }actionpublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {System.out.println("in action"); PhotoLogic photoLogic=new PhotoLogic(); List<String> list= photoLogic.getAlbum(request, form); request.getSession().setAttribute("album", list); return mapping.findForward("toUploadPhoto");}我本来是放到request里的,在页面取不到,然后放到session中了!问题补充:el表达式解决了,问下问什么放到request中不行,而必须放到session中!我知道不应该放到session中,问题处在哪啊!

解决方案

el也能获取request的参数他是有优先级的,session比request优先级高你应该获取request参数,不应该用session为什么取不到你应该查一下文档
解决方案二:
action到配置文件struts-config.xml有问题,<forward name="" path" redirect="true"></forward>默认redirect是false,不要指定 redirect="true" 应该就可以了。
解决方案三:
用jstl标签把

时间: 2024-10-06 09:06:06

el表达式的问题的相关文章

EL表达式详细解析

<%@ page isELIgnored="true"%> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言. JSTL 标签 库由标签库和 EL 表达式语言两个部分组成. EL 在 JSTL 1.0 规范中被引入,当时用来作为 Java 表达式来工作,而该表达式必须配合 JSTL 的标签库才能得到需要的结果. 说明:在 JSTL 1.1 规范中, JSP2.0 容器已经能够独立的理解任何 EL 表达式. EL 可以独立出现在

JSP EL表达式支持方法调用

在JEE6中,JSP中的EL表达式支持带参数的方法调用了.可以像这样调用: ${foo.bar(baz)} . 最新的实现是JUEL,大家可以下载试用一下.下面代码就是测试如何使用: // the ExpressionFactory implementation is de.odysseus.el.ExpressionFactoryImpl| System.setProperty("javax.el.methodInvocations", "true"); Expr

Taglib原理和实现之支持El表达式

1.先看这么一个例子 <%@ page contentType="text/html; charset=gb2312" language="java"%><%@ taglib uri="/WEB-INF/tlds/c.tld" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" &

Taglib原理和实现之El表达式和JSTL标签

1.问题:你想和jstl共同工作.比如,在用自己的标签处理一些逻辑之后,让jstl处理余下的工作. 2.看这个jsp例子: .... <% String name="diego"; request.setAttribute("name",name); %> <c:out value="${name}"/> ...... 许多jstl标签支持El表达式,所以,只要你在自己的标签内部把值塞进request,其他jstl标签就能

JSP EL表达式详细介绍

一.JSP EL语言定义 E L(Expression Language) 目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法.它是一种简单的语言,基于可用的命名空间(PageContext 属性).嵌套属性和对集合.操作符(算术型.关系型和逻辑型)的访问符.映射到 Java 类中静态方法的可扩展函数以及一组隐式对象. EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.脚本编制元素是

js文件中写el表达式取不到值的原因及解决方法

 在js文件中写el表达式取不到值,百度一下,将经验总结如下,有类似情况的朋友可以参考下 今天在js文件中,写el表达式取不到值(代码如下),百度一翻,现总结如下:    1.javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以取不到值    2.要想获取"${isLogin}"的值,可以在jsp中,用一个全局变量接收,然后再js中使用    3.注意:在使用时,注意要添加双引号,如var isLogin="${isLogin}"; 

Tomcat5发布项目问题(2):默认不解析EL表达式

Tomcat 5.5使EL表达式不被解析.  现象 代码${userSession.user_name}是JSP中的一个代码片段: 如果部署到tomcat5.5中,不会显示出session中的变量user用户名,而只会把 ${userSession.user_name}打印出来,猜测很可能是tomcat5.5的bug,不解析(或屏蔽了)EL表达式.  原因 如果web.xml中声明部分的schema版本为2.5或者以上,而tomcat使用的是5.5.x以下的版本的时候就会出现在页面直接显示而不解

EL表达式能嵌套使用吗

问题描述 EL表达式能嵌套使用吗 页面获取值是通过EL表达式获得,我想用EL表达式再做一次三木运算,但是总是提示错误,就像请教一下大家,EL表达式能嵌套使用吗?这是jsp页面代码:<%-- 显示的值/c:if --%> 解决方案 问题:现在我有一对象user .想要在页面是上使用 ${user.isp==1?"""":""""} 处想要使用 ${user.name} 处想要使用${user.account}但是如果

④品茶看&lt;Servlet&amp;JSP&gt;-EL表达式

前言 今早,概率课偷了下小懒写的:   泡一杯红茶,ACM集训前,写篇博客记录记录EL表达式. #EL介绍 ①EL 语法 ②访问JavaBean等 ③EL隐式对象 ④EL运算符   EL介绍 EL 全名为Expression Language.受ECMAScript 和XPath 表达式的语言启发.EL 的语法比传统JSP Scriptlet 更为方便.简洁.   EL 语法   ①基本知识 ${为起始.以}为结尾的,构造:${expression}.接下来比较下: JSP Scriptlet获

问一个el表达式的问题,是html页面中的,语言是java

问题描述 问一个el表达式的问题,是html页面中的,语言是java 我这样写判断是否为空,但是为什么就出错了 #if({empty user})当后台返回来的user为空时就出错了,页面打不开 解决方案 页面应该是 JSP页面吧 ~ <c:if test=""${empty user}""> user is empty or null. </c:if> <c:if test=""${not empty user}&