c:foreach语句在JSP页面获取不到值,页面只显示EL表达 请高手帮忙解答一下,谢谢。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c:foreach语句在JSP页面获取不到值,页面只显示EL表达 请高手帮忙解答一下,谢谢。相关的知识,希望对你有一定的参考价值。

JSP页面中的代码
<select name="goods.cid">
<option selected>---请选择---</option>
<c:forEach var="c" items="$cg"><option value="$c.id">$c.name</option></c:forEach>
</select>
Javabean中的代码
private int id;
private String name;
private int count;

public int getCount()
return count;

public void setCount(int count)
this.count = count;

public int getId()
return id;

public void setId(int id)
this.id = id;

public String getName()
return name;

public void setName(String name)
this.name = name;


数据库中已经添加过值了 但是就是不显示
Action中的代码

public String getForAdd()throws Exception
ActionContext context = ActionContext.getContext();
Map req=(Map)context.get("request");
req.put("cg",categoryService.getCgForAdd());

return this.SUCCESS;

Dao层的代码

public List getCategForAdd()
final List<Category> cg =new ArrayList<Category>();
String sql="select * from category";

jt.query(sql,new RowCallbackHandler()

public void processRow(ResultSet rs) throws SQLException
// TODO Auto-generated method stub
Category cag = new Category();
cag.setId(rs.getInt("c_id"));
cag.setName(rs.getString("category"));
cg.add(cag);

items="$cg" 你把cg放到某个scope下。再在scope中读出来。比如:pageContext.setAttribute("cg",cg);
然后:items="$pageScope.cg"
参考技术A 页面直接显示的是怎样啊,如果显示el表达式,那就是容器没能成功的解析jsp页面哦追问

先谢谢你的帮忙

对是的 直接显示EL表达式了
我也考虑过这个情况
特意重新导入了JSTL的包
然后又重新写入

还是无法获取到数据

追答

还要加个standard.jar

追问

Standard,jar 也已经成功导入了

jsp页面跳转后,如何获取前面一个页面的一个参数值

获取jsp页面参数的方式,要看这个jsp页面是以什么方式传递参数的。

一般的,一个jsp页面通过以下方式传递参数:

    在form表单中添加参数;

    如:<form action="result.jsp" method="get" align="center">

    <input type="text" name="name">

    </from>

    在sesseion、request的attribute中添加参数

    如:session.setAttribute("name","百度"); // 第一个参数是名,第二个参数是值

    在超链接后面添加参数

    如:<a herf="result.jsp"?name="百度"</a> 

    通过<jsp:param>添加参数

    如:<jsp:forward page="result.jsp">            <jsp:param name="name" value="百度"/>        </jsp:forward>

    对于以上的4种传递参数的方式,第1,3,4种都可以用equest.getParameter("name") 的方式来获取参数的值,而对第2种方式,可以用session.getAttribute("name")或者request.getAttribute("name")的方式获取参数的值

参考技术A 先跳后台servlet 再将值传到另一个页面

以上是关于c:foreach语句在JSP页面获取不到值,页面只显示EL表达 请高手帮忙解答一下,谢谢。的主要内容,如果未能解决你的问题,请参考以下文章

jsp页面forEach一个存放对象的集合,怎么判断其中一个对象是不是null?

在jsp页面判断两个list的值是不是相等,使用 <c:forEach>

java保存到session里,新的JSP页面怎么获取不到值

怎么在jsp页面获取每个Map中key所对应的value值得 size啊

如何在 JSP 页面的脚本标签中使用 <c:forEach>?

jsp页面怎么判断foreach循环了几次,或者说怎么判断list循环到下标几?