新手求教JSTL传值的一个小问题
<html>
<body>
<%
List<Diary>m_list = new LinkedList<Diary>();
m_list=(List)request.getAttribute("list");
int pageNo =0;
request.setAttribute("pageNo",pageNo);
%>
<c:set var="pageNo" value="${pageNo}"> </c:set>
<a href='<c:url value="/rijifenye">
<c:param name="pageNo" value="${pageNo}"/>
</c:url>'>
next
</a>
</body>
</html>
然后在rijifenyeServlet里面写:
PrintWriter m_writer = resp.getWriter();
int pageNo = Integer.parseInt(req.getAttribute("pageNo").toString());
m_writer.println(pageNo);
int pageNo = Integer.parseInt(req.getAttribute("pageNo").toString());这里报空指针异常:
java.lang.NullPointerException
servlet.rijifenyeServlet.doGet(rijifenyeServlet.java:20)
请问哪里错了,正确的应该怎么写?
[解决办法]
req.getParameter("pageNo")
[解决办法]
获取页面的值用getParmameter();
[解决办法]
楼上诸多正解
[解决办法]
你这就要用req.getParameter("pageNo")了呀!
<c:param name="pageNo" value="${pageNo}"/>
它是以?号传递过去的,所以得用req.getParameter("pageNo")
[解决办法]
req.getAttribute("pageNo")获取对象
req.getParameter("pageNo")获取页面字符串
[解决办法]
对,就应该用req.getParameter("pageNo");取值
你之前的request.setAttribute("pageNo",pageNo);和连接没有在同一个请求中