<jsp:useBean id="lyList" scope="session" type="java.util.ArrayList"/>
干嘛要这样用
这不是一个javabean你应该
ArrayList al=new ArrayList();
来实例化一个ArrayList
干嘛要这样用
这不是一个javabean你应该
ArrayList al=new ArrayList();
来实例化一个ArrayList
解决方案 »
- MINA框架问题求解
- 关于jfreechart产生的图形无法打印的问题
- spring中使用quartz任务时,jobDataAsMap问题。
- hibernate保存外键问题
- struts标签
- 100分请教如何设置JTABLE的表头高度?
- struts中配置mapping时如果要校验,必须配置input参数,有个大问题,请教大家了!
- 关于程序内容动态实现的一个有趣的问题, 请大家进来发表下意见
- 关于Session持久化
- 求教,Graphics 这个对象如何使用,看例子都是Applet 中的方法 paint(Graphics g){},在有 main()方法的程序中该如何使用? 谢谢
- jdk1.5.01+Tomcat5.5.6装在XP+sp2上后,用控制台无法运行tomcat
- 请教服务器端的分时程序。高手请进
<%@ page import="java.util.ArrayList" session="true"%>
在action中声明一个ArrayList对像,
然后把从数据库读出的数据放到这个ArrayList中,
将数组放入session中:
session.setAttribute("al",al);
然后在jsp页面中
ArrayList ar=(ArrayList)session.getAttribute("al");
就ok了
<jsp:useBean id="userHelper" scope="page" class="com.hl.jls.security.model.helper.SysUserHelper" /><logic:iterate id="user" name="userHelper" type="com.hl.jls.security.model.hbm.SysUser" property="users" >
<tr>
<td><bean:write name="user" property="u004"/></td>
...
key point:
1.name = id
2,property="users" SysUserHelper必须有方法getUsers()方法
就是EJB读取数据库,JavaBean模型调用EJB,然后通过Struts的logic:iterate 循环显示出来。谢谢
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<% ArrayList mylyList = (ArrayList)session.getAttribute("lyList"); %>
<logic:iterate id="value" name="mylyList" type="guestbook.maxuan.ejb.entity.value.BookValue" indexId="index">
<bean:write name="value" property="name"/>
</logic:iterate>
我按照你的方法做:出现下面错误:Error 500--Internal Server Error
javax.servlet.jsp.JspException: Cannot find bean mylyList in any scope
at org.apache.struts.taglib.template.InsertTag.doEndTag(InsertTag.java:164)
at jsp_servlet.__index._jspService(__index.java:213)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Object object = ctx.lookup("BookControl");
BookControlHome bookHome = (BookControlHome) PortableRemoteObject.narrow(
object, BookControlHome.class);
BookControl bookControl = bookHome.create();
ArrayList lyList = bookControl.getLyList();
session.setAttribute("lyList", lyList);
}
catch (Exception e) {
e.printStackTrace();
}
return (actionMapping.findForward("success"));jsp原始代码:
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<jsp:useBean id="lyList" scope="session" type="java.util.ArrayList"/>
<logic:iterate id="value" name="lyList" type="guestbook.maxuan.ejb.entity.value.BookValue" indexId="index">
<bean:write name="value" property="name"/>
</logic:iterate>把<jsp:useBean id="lyList" scope="session" type="java.util.ArrayList"/>
改为
<% ArrayList lyList = (ArrayList)session.getAttribute("lyList"); %>
<logic:iterate id="value" name="lyList" type="guestbook.maxuan.ejb.entity.value.BookValue" indexId="index">
<bean:write name="value" property="name"/>
</logic:iterate>还是出现错误。大侠能否帮忙再修改一遍。
<logic:iterate id="value" name="lyList" type="guestbook.maxuan.ejb.entity.value.BookValue" indexId="index">
<bean:write name="value" property="name"/>
</logic:iterate>还是出现错误。应该是type这里有问题看来楼主对struts不是很熟啊,
而你的这个例子用倒了太多你陌生的东西,还是一步步的来为好:)
-----------------------------------
guestbook.maxuan.ejb.entity.value.BookValue的全部代码:package guestbook.maxuan.ejb.entity.value;
import java.io.*;
public class BookValue
implements Serializable {
public java.lang.String name;
public java.lang.String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
private void writeObject(ObjectOutputStream oos) throws IOException {
oos.defaultWriteObject();
}
private void readObject(ObjectInputStream ois) throws ClassNotFoundException,
IOException {
ois.defaultReadObject();
}
}------------------------------------------------------
ArrayList的代码: public ArrayList getLyList() {
ArrayList LyList = new ArrayList();
try {
javax.naming.Context context = new javax.naming.InitialContext();
BookHome bookHome = (BookHome) context.lookup("Book");
Collection lyCntl = bookHome.findAll();
Iterator iterator = lyCntl.iterator();
while (iterator.hasNext()) {
Book book = (Book) iterator.next();
LyList.add(book.getValue());
}
}
catch (Exception ex) {
throw new EJBException(ex);
}
return LyList;
}-----------------------------------------------Action代码: try {
Object object = ctx.lookup("BookControl");
BookControlHome bookHome = (BookControlHome) PortableRemoteObject.narrow(
object, BookControlHome.class);
BookControl bookControl = bookHome.create();
ArrayList lyList = bookControl.getLyList();
session.setAttribute("lyList", lyList);
}
catch (Exception e) {
e.printStackTrace();
}
return (actionMapping.findForward("success"));