在jsp页面中用jstl取值,后台都能取到,但是前台不显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在jsp页面中用jstl取值,后台都能取到,但是前台不显示相关的知识,希望对你有一定的参考价值。

爱好:
<c:forEach var="hobby" items="$hobbyList">
<input type="checkbox" name="userHobbyArray" value="$hobby.hobbyId" />$hobbyList.hobbyName
</c:forEach>
方便的话加我下Q吧 125688014 纠结一上午了

参考技术A

你在后台程序是怎样将数据传递给前台页面的?

<c:forEach var="hobby" items="$requestScope.hobbyList">
    <input type="checkbox" name="userHobbyArray" value="$hobby.hobbyId" />$hobbyList.hobbyName
</c:forEach>

再试试!看你前台页面的问题看不出来!

追问

追答

你给出是只是一个查询它方法而已,我说的是hobbyList这个是怎么弄到页面的?比如你在servlet中,不是有request.setAttribute()方法来弄嘛。我是这个意思!

追问

没有servlet,用的struts2
这是action里的一个方法
public String toUserRegist()
UserDao ud = new UserDao();
hobbyList = ud.selectHobbyList();
return "success";//执行完就会跳转的jsp页面,然后就把hobbyList带过去了

追答

我只是给你打个比喻而已,让你知道我的意思!你这里都没把你数据和前台进行绑定,怎么在前台获取数据,郁闷!在struts2中有获取类似servlet的request来把数据放到一个应用范围内,然后在前台获取数据!

本回答被提问者采纳
参考技术B 很明显嘛,$hobbyList.hobbyName应该写成$hobby.hobbyName追问

那个是笔误,真正的错误不在那

参考技术C 你在后台程序是怎样将数据传递给前台页面的?
<c:forEach var="hobby" items="$requestScope.hobbyList">
<input type="checkbox" name="userHobbyArray" value="$hobby.hobbyId" />$hobbyList.hobbyName
</c:forEach>
再试试!看你前台页面的问题看不出来!

jsp中引入了jstl标签,并且jar包也导进去了,但是jsp页面还是报错,并且用C标签时也没有提示。

1、检查jstl的jar包(确保jar包完整)是否放在web项目的lib目录下;
2、检查jsp页面头引用标签库是否正确:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3、关闭jsp页面,或者重启web服务,再检查c标签是否有提示;
参考技术A 我也遇到这个问题,最后将(首先还是要将JSTL的jar包迎入到web-inf 下的lib中)<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
替换成了
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
原因是查看了tomcat 下的jsp-api.jar 的版本是2.3,这个版本的包里是不包含core的所以需要用到core-rt的备份库
参考技术B 报错写的什么,报错位置的代码是什么。

以上是关于在jsp页面中用jstl取值,后台都能取到,但是前台不显示的主要内容,如果未能解决你的问题,请参考以下文章

页面跳转传值接收

在jsp页面通过jstl标签的forEach循环标签获得后台数据,传到js中,通过jquery的each方法和click事件获得数据

怎样将后台数据显示到jsp页面的select中去

小程序项目复盘 用全局变量传参的问题

利用JS获取地址栏的中文参数,如何避免取到乱码?

java相关 关于List前台显示