此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【xiaobudong2458】截止到2008-07-22 17:36:10的历史汇总数据(不包括此帖):
发帖的总数量:47 发帖的总分数:690 每贴平均分数:14
回帖的总数量:18 得分贴总数量:1 回帖的得分率:5%
结贴的总数量:43 结贴的总分数:630
无满意结贴数:8 无满意结贴分:150
未结的帖子数:4 未结的总分数:60
结贴的百分比:91.49 % 结分的百分比:91.30 %
无满意结贴率:18.60 % 无满意结分率:23.81 %
值得尊敬
楼主【xiaobudong2458】截止到2008-07-22 17:36:10的历史汇总数据(不包括此帖):
发帖的总数量:47 发帖的总分数:690 每贴平均分数:14
回帖的总数量:18 得分贴总数量:1 回帖的得分率:5%
结贴的总数量:43 结贴的总分数:630
无满意结贴数:8 无满意结贴分:150
未结的帖子数:4 未结的总分数:60
结贴的百分比:91.49 % 结分的百分比:91.30 %
无满意结贴率:18.60 % 无满意结分率:23.81 %
值得尊敬
解决方案 »
- Struts<html text >标签问题
- 动态ActionForm
- java IO更新文件部分内容
- struts+hibernate开发简单论坛前台问题
- 晕,最后三分可用分,今天,,一个清空STRUTS表单的问题,感谢。
- 通过httpclient post方法访问struts2的action,找不到指定的action
- 关于ant产生的war包和jbuilderx产生的war包的问题?
- 高分求教,这些验证信息是什么意思?怎样消除。
- JRE,J2EE,J2ME,JAVABEAN,EJB......
- 为什么运行 J2EE -verbose 会出现异常
- 配置HibernateMappingFile的时候出现的错误
- web容器为JSP的pageContext、request、session和application分配的内存空间是有限的么?怎么修改?
....
<form action="login.do" method="post">
用户名:
<input type="text" name="username">
<br>
<br>
密 码:
<input type="password" name="userpass">
<br>
<br>
<button type="submit" name="" value="登录">
登录
</button>
</form>
...
登录 Action LoginAction.java
...
public class LoginAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
String username = loginForm.getUsername();
String userpass = loginForm.getUserpass();
String sql = "select * from talking where username = '" + username + "' and userpass = '" + userpass + "';";
ArrayList list = UserDao.queryUser(sql);
if(list.isEmpty()){
return mapping.findForward("logfail");
}
HttpSession session = request.getSession();
session.setAttribute("username", username);
Vector v = (Vector)session.getServletContext().getAttribute("usernames");
if(v == null){
v = new Vector();
}
v.add(username);
session.getServletContext().setAttribute("usernames", v);
return mapping.findForward("logseccess");
}
}登录成功后进入聊天室页面
...
<frameset rows="70%,30%" >
<frameset cols="70%,30%" >
<frame src="Chats.jsp" name="chats">
<frame src="ShowUsers.jsp" name="showUsers">
</frameset>
<frame src="talk.jsp" name="talk">
</frameset>
...显示用户 Action ShowUsersAction.java
...
public class ShowUsersAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ShowUsersForm showUsersForm = (ShowUsersForm) form;// TODO Auto-generated method stub
HttpSession session = request.getSession();
ServletContext context = session.getServletContext();
Vector v = (Vector)context.getAttribute("usernames");
request.setAttribute("vector", v);
return mapping.findForward("showusers");
}
}显示用户页面 ShowUsers.jsp
...
<logic:iterate id="user" name="vector" >
<bean:write name="user" property="username" /><br>
</logic:iterate>
...
(相关页面及代码已全部列出)各位帮忙看看问题出在哪里,登录成功后在 ShowUsers.jsp 页面里出错 错误码 500 can't find bean vector in any scope
<bean:write name="list" property="username" /> <br>
</logic:iterate>
v.toArray() ;返回一个数组,可以把数组加到Arraylist里,然后输出到jsp
int i = 0;
ArrayList list = new ArrayList();
while(!v.isEmpty()){
list.add(v.get(i));
i ++;
}
request.setAttribute("list", list);ShowUsers.jsp 里面改成以下代码:
<logic:iterate id="user" name="list" >
<bean:write name="user" property="username" /><br>
</logic:iterate>页面错误如下:
HTTP Status 500org.apache.jasper.JasperException: An exception occurred processing JSP page /ShowUsers.jsp at line 2219: <center>
20: 用户列表:
21: <br>
22: <logic:iterate id="user" name="list" >
23: <bean:write name="user" property="username" /><br>
24: </logic:iterate>
25: </center>javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean list in any scope我感觉是 ShowUsersAction.java 根本就没有工作啊....???
此标签<logic:iterate id="user" name="list" > 就指名type
如:<logic:iterate id="user" name="list" type="User类的全限定名(即包名加类名)">
第二.检查struts-config.xml文件中Action是否配置正确,在你的ShowUsersAction 类中测试是否工作
...
<logic:iterate id="user" name="vector" >
<bean:write name="user" property="username" /> <br>
</logic:iterate> 错误:首先<logic:iterate id="user" name="vector" > 在之前Action动作中没有设置vector在任何的范围内
其次根据你Action里对数据的处理来看,你的Vector集合放的是String并不包含username属性
<bean:write name="user" property="username" />这句也会报错
...
public class ShowUsersAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ShowUsersForm showUsersForm = (ShowUsersForm) form;// TODO Auto-generated method stub
HttpSession session = request.getSession();
ServletContext context = session.getServletContext();
Vector v = (Vector)context.getAttribute("usernames");
request.setAttribute("vector", v);
return mapping.findForward("showusers");
} 这句看到,不好意思
其次这句还是会报错
<bean:write name="user" property="username" />这句也会报错