-
EL表达式 ${}中能有${}吗5
在<form action="" id="name_${user.id}">中,我想得到id="name_1",在服务器端user对象的属性id=1,上面错误
如何在${}中使用${},例:${user.name_${user.id}},user对象的属性name_1,name_2,name_3,name_4,我在jsp页面中遍历取值,我写的${user.name_${user.id}},id="name_${user.id}"都是错误的,希望高手帮我改正,万分感谢
问题补充:第一个问题解决了,id="name_${user.id}"是正确的,是我在request中忘记传了,第二个问题你们都理解错误了
action中:List<Map<String,Object>> sectionList = paperDao.getPaperSectionList(paper.getId());
request.put("sectionList", sectionList);
for(Map<String,Object> sectionMap : sectionList) {
List<Map<String,Object>> paperList = paperDao.getQuestionListBySectionId((Integer)(sectionMap.get("ID")));
request.put("questionList_sectionId_"+String.valueOf(sectionMap.get("ID")), paperList);
System.out.println("==============="+request.get("questionList_sectionId_84"));//成功打印
}
jsp中<c:forEach var="section" items="${sectionList }">
<c:if test="${empty section==false }">
<table class="stable" width="98%" cellpadding="5px" style="margin-top:10px" id="SECTION_${sesion.ID} " >
<tr>
<th class="section_th"><span style="float:left">${section[SECTION_NAME] } (${section[REMARK] })</span></th>
</tr>
<c:set var="sectionId" value=""></c:set>
<c:out value="${section.ID }"> </c:out>
<c:out value="${requestScope.questionList_sessionId_84 }"> </c:out>//取不到值
<c:out value="questionList_sectionId_${section.ID}"> </c:out>
<c:forEach var="question" items="${questionList_sectionId_${section.ID}}">//报错
<c:if test="${empty question==false }">
<tr id="QUESTION_${question.ID}">
<td>
</td>
</tr>
</c:if>
</c:forEach>
</table>
</c:if>
</c:forEach>2012年11月22日 23:41
7个答案 按时间排序 按投票排序
-
采纳的答案
1.<form action="" id="name_${user.id}">
这么写是没有问题的,应该是user对象的问题
可能的原因:
看看user是否加到了request里面
User u =new User();
u.setId("1");
request.setAttribute("user",u);
并且,User类里面必须提供public String getId(){return this.id;}
2.el嵌套的写法是不行的,但是下面这个方法可以实现你说的需求:
1>先把name_${user.id}的值存到变量myname中
2>再通过id="${user[myname]}"的方式取到name_1的值
代码如下,可以参考一下(为了方便,用的HashMap,你单独定义一个User类也可以):
main.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <c:set var='myname' value="name_${user.id}" scope="page"/> <form method="get" action="" id="${user[myname]}"> <input type="submit" value="OK" /> </form>
MyServlet.java
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{ System.out.println(getServletName() + "doGet"); Map<String,String> m = new HashMap<String,String>(); m.put("name_1","nameone"); m.put("id","1"); req.setAttribute("user",m); req.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(req,resp); }
2012年11月23日 12:31
-
jsp可以直接用struts標簽取List<Map<String,Object>>值 並遍歷
<table> <s:iterator value="searchResultList" id="searchResult"> <tr> <s:iterator value="#searchResult" id="searChMap" status="status"> <td><s:property value="get('xxx')"/>-<s:property value="get('xxx.yyy')" /> </td> </s:iterator> </tr> </s:iterator> </table>
2012年11月23日 15:02
-
楼主要实现的代码是不是${user.name}_${user.id}这样?你要实现${user.name_user.id}这种方式的话必须写自定义el标签进行拼接,因为el不识别"_"下划线
2012年11月23日 11:39
-
首先楼主写的
引用<form action="" id="name_${user.id}">
EL表达式没有问题。
1、检查是否传过来了对象
2、jsp页面是否支持EL表达式,不支持就引入jstl
2012年11月23日 10:33
相关推荐
这样做不仅在火狐浏览器中能限制用户输入非数字字符,还会显示一个带有上下箭头的数字调整器,用户可以通过点击这些箭头来增加或减少数字。然而,这种方法并不完美,因为它允许小数点(.)和负号(-)的输入,这可能...
【描述】中提到的“jsp课程ppt”是一个教学材料,它通常会涵盖JSP的基础概念,如JSP语法、指令、动作、内置对象、EL表达式、JSTL等。这些内容旨在帮助初学者理解如何在Web应用中创建动态页面。PPT可能会详细讲解每个...
4. 表达式语言(EL,Expression Language)及案例精讲:EL是一种简洁的、类型安全的、与JavaBeans属性交互的语言,主要用于简化JSP页面中的数据绑定。EL的使用大大减少了在JSP页面中编写Java脚本的需要,使得页面...
5. JSP EL和JSTL:学习如何使用EL简化表达式,并利用JSTL进行更高效的页面编程。 6. MVC(Model-View-Controller)模式:理解如何在Servlets和JSP中应用MVC设计模式,实现业务逻辑与视图的解耦。 7. 用户会话管理:...
EL是JSP 2.0引入的一种简洁的表达式语言,用于获取和设置页面作用域内的对象属性,如`${user.name}`。 7. **JSTL(JavaServer Pages Standard Tag Library)** JSTL是一组标准标签库,提供了一系列标签来处理常见...
通过这个商品网项目,你可以深入学习JSP的页面指令、EL表达式、JSTL标签,理解JavaBean的封装、属性和方法,以及Servlet的生命周期和请求响应处理。同时,还会涉及MVC设计模式的应用,以及如何将这些组件有效地结合...
2. **函数标签库(Function Tags)**:JSTL提供了EL表达式语言中的一些内置函数,如字符串操作、数组和集合操作等。例如: - `fn:split()`:将字符串按指定分隔符拆分为数组。 - `fn:length()`:返回集合或字符串...
JSP通过JSP标签、脚本元素和表达式语言(EL)来处理业务逻辑和数据展示。在"JSP电子购物商城源码"中,你可以看到JSP如何用于处理用户的请求,展示商品信息,以及处理购物车和订单等核心功能。 二、MVC模式 在电子...
此外,JSP还支持EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)等简化页面编程的表达式和标签库。 **控制器(Controller)**:在Java中,控制器通常由Servlet实现,它负责接收用户的...
开发者需要掌握如何在JSP页面中嵌入Java代码片段(Scriptlets)或使用表达式语言(EL)来与服务器交互,获取和设置数据。 3. **Servlet处理**:虽然JSP可以处理一部分服务器端逻辑,但更复杂的操作如用户验证、数据...
开发者可以使用JSP指令、脚本元素和EL(Expression Language)表达式来处理数据并渲染页面。购物车、商品详情等关键页面可能都是由JSP文件实现的,它们接收来自Servlet的处理结果,并将其转化为用户可交互的网页。 ...