jsp部分代码:
<jsp:useBean id="userListBean" scope="request" class="lightningboard.bean.UserListBean"/>
<%
Iterator users=userListBean.getUsers().iterator();
while(users.hasNext()){
User user=(User)users.next();
%>
<jsp:useBean id="userListBean" scope="request" class="lightningboard.bean.UserListBean"/>
<%
Iterator users=userListBean.getUsers().iterator();
while(users.hasNext()){
User user=(User)users.next();
%>
是不是ServletRequest与ServletContext使用相同方式传递参数值呢?
request会带回到jsp中并应用。??
-------
jsp中只是调用
Iterator users=userListBean.getUsers().iterator();
while(users.hasNext()){
User user=(User)users.next();
它并没有用到request对象呀,那么users怎么会有值呢?
有、当然有了
----------
方法A调用方法B的过程中
方法B中改变了request的属性,那么方法A中的request中属性也改变了。是不是这样
Defines an object to provide client request information to a servlet. The servlet container creates a ServletRequest object and passes it as an argument to the servlet's service method. public interface ServletContext
Defines a set of methods that a servlet uses to communicate with its servlet container
Iterator users=userListBean.getUsers().iterator();
while(users.hasNext()){
User user=(User)users.next();它并没有用到request对象呀,那么users怎么会有值呢?
问题解决后马上结贴。现还有一问题
jsp中问题:
Iterator users=userListBean.getUsers().iterator();
while(users.hasNext()){
User user=(User)users.next();它并没有用到request对象呀,那么users怎么会有值呢?
jsp中用request可以这样:
request.getSession().getAttribute("attName");
不过你给出来的source中确实没用到过。
<%@page language="java" contentType="text/html; charset=GB2312" import="lightningboard.util.*,lightningboard.bean.*,java.util.Iterator"%>
<jsp:useBean id="userListBean" scope="request" class="lightningboard.bean.UserListBean"/>
<%@include file="inc/header.jsp" %><!--bar-->
<table width="95%" align="center" border="0" cellspacing="1" cellpadding="5">
<tr>
<td >
<b><IMG SRC="img/lb_icon.gif" WIDTH="16" HEIGHT="16" BORDER=0 valign="middle"> <A HREF="home.do"><%=FORUM_NAME%></A> > User List</b>
</td>
</tr>
</table>
<BR>
<!--users-->
<table width="95%" align="center" border="0" cellspacing="1" cellpadding="5" bgcolor="<%=TABLE_BGCOLOR%>">
<tr bgcolor="<%=TH_BGCOLOR%>">
<td width="15%" ><font color="<%=TH_TEXT_COLOR%>">User Name</font></td>
<td width="7%"><font color="<%=TH_TEXT_COLOR%>">Avatar</font></td>
<td width="15%"><font color="<%=TH_TEXT_COLOR%>">Role</font></td>
<td width="7%" ><font color="<%=TH_TEXT_COLOR%>">Email</font></td>
<td width="15%" ><font color="<%=TH_TEXT_COLOR%>">Register Time</font></td>
<td width="20%"><font color="<%=TH_TEXT_COLOR%>">Address</font></td>
<td width="6%"><font color="<%=TH_TEXT_COLOR%>">Posts</font></td>
<td width="15%"><font color="<%=TH_TEXT_COLOR%>">Last post time</font></td>
</tr>
<!--loop begin-->
<%
Iterator users=userListBean.getUsers().iterator();
while(users.hasNext()){
User user=(User)users.next();
%>
<tr>
<td width="15%" bgcolor="<%=TD_BGCOLOR%>"><%=StringUtil.escapeHTMLTags(user.getU_name())%></td>
<td width="7%" bgcolor="<%=TD_BGCOLOR2%>"><img src="img/avatars/<%=user.getU_avatar_id()%>.gif" width=36 height=36 border="0"></td>
<td width="15%" bgcolor="<%=TD_BGCOLOR%>"><%=user.getR_name()%></td>
<td width="7%" bgcolor="<%=TD_BGCOLOR2%>"><A HREF="mailto:<%=StringUtil.escapeHTMLTags(user.getU_email())%>"><IMG SRC="img/email.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT="Email"></A></td>
<td width="15%" bgcolor="<%=TD_BGCOLOR%>"><%=DateTimeUtil.shortFmt(user.getU_regtime())%></td>
<td width="20%" bgcolor="<%=TD_BGCOLOR2%>"><%=StringUtil.escapeHTMLTags(user.getU_address())%></td>
<td width="6%" bgcolor="<%=TD_BGCOLOR%>"><%=user.getU_post()%></td>
<td width="15%" bgcolor="<%=TD_BGCOLOR2%>"><%=DateTimeUtil.shortFmt(user.getU_lasttime())%></td>
</tr><%
}
%>
<!--loop end-->
<TR>
<TD colspan="8" bgcolor="<%=TD_BGCOLOR%>">
<!--split page-->
<%
String keyword=StringUtil.notNull(userListBean.getKeyword());
int start=userListBean.getStart();
int range=userListBean.getRange();
int count=userListBean.getCount();
%>
<TABLE width="100%" border="0" cellpadding="0" cellspacing="0">
<TR>
<TD width="20%">
<%if(start>range){%><A HREF="userList.do?start=<%=start-range%>&keyword=<%=keyword%>">PREV</A><%}else{%>PREV<%}%>
</TD>
<TD align="center">
Users: <%=count%> RPP: <%=range%> Start: <%=start%>
</TD>
<TD width="20%" ALIGN="right">
<%if(start+range<=count){%><A HREF="userList.do?start=<%=start+range%>&keyword=<%=keyword%>">NEXT</A><%}else{%>NEXT<%}%>
</TD>
</TR>
</TABLE>
</TD>
</TR>
</table>
<!-- search bar -->
<table width="95%" align="center" border="0" cellspacing="1" cellpadding="5">
<FORM NAME="formSearch" METHOD="post" ACTION="userList.do">
<tr>
<td align="right">
Search:
<INPUT TYPE="text" NAME="keyword" SIZE="10" MAXLENGTH="10" VALUE="<%=keyword%>">
<INPUT TYPE="submit" VALUE="GO">
</td>
</tr>
</FORM>
</table><%@include file="inc/footer.jsp"%>
首先谢谢cbhyk() 、zhousm6([email protected]) 的帮助。
jsp中问题:
Iterator users=userListBean.getUsers().iterator();
while(users.hasNext()){
User user=(User)users.next();它并没有用到request对象呀,那么users怎么会有值呢?
lightningboard.bean.UserListBean userListBean = (lightningboard.bean.UserListBean) request.getAttribute("userListBean");
if(userListBean == null)
{
userListBean = new lightningboard.bean.UserListBean();
request.setAttribute("userListBean", userListBean);
}
<jsp:useBean id="userListBean" scope="request" class= "lightningboard .bean.UserListBean"/>
这句话,就表明在这个jsp中要用到UserListBean的对象,那么这时候userListBean就已经得到了在servlet中向其中设的值了。这是javaBean的作用,跟request关系不太大。
lightningboard.bean.UserListBean userListBean = (lightningboard.bean.UserListBean) request.getAttribute("userListBean");
也能取得request里面的对象了,只不过通过<jsp:useBean id="userListBean" scope="request" class="lightningboard.bean.UserListBean"/>的形式,程序自动帮你取得了对象并且命名为id="userListBean"了
另请 cbhyk() 、 zhousm6([email protected])进来拿分
http://expert.csdn.net/Expert/topic/2159/2159991.xml?temp=.2379724