【问题标题】:How to use List<Object> in Struts?如何在 Struts 中使用 List<Object>?
【发布时间】:2014-01-31 12:30:24
【问题描述】:

我正在尝试使用 struts 框架编写代码。

我是 struts 新手,我没有这方面的经验。

我想做的是使用struts中的对象列表

假设我们有 java 类从 ActionForm 扩展如下:

ResumeMessages.java:

public class ResumeMessages_Form extends ActionForm{

private List<Message> listallmessages; // this is the list wich i want to use it
private DbMessage DbMessage; // a simple java class to connect from JDBC to xamp ...

public ResumeMessages_Form() {
    super();
    DbMessage = new DbMessage();
    try {
        listallmessages = DbMessage.List_Messages(); // return list of all messages in the database
    } catch (SQLException ex) {
        Logger.getLogger(ResumeMessages_Form.class.getName()).log(Level.SEVERE, null, ex);
    }
}

public List<Message> getListallmessages() {
    return listallmessages;
}

public void setListallmessages(List<Message> listallmessages) {
    this.listallmessages = listallmessages;
}

@Override
public String toString() {
    return "ResumeMessages_Form{" + "listallmessages=" + listallmessages + ", DbMessage=" + DbMessage + '}';
}

@Override
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
    ActionErrors errors = new ActionErrors();
    return errors;
}

}

并假设我想在 jsp 文件中使用列表 'listallmessages',如下所示:

Resum.jsp:

  <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Page</title>
                 <jsp:include page="/files/resumemessages/resumemessages_style.jsp"/>

    </head>
    <body>
        <html:form action="/resum" method="post">
<table>
<% for (int i=0;i<listallmessages.size();i++){%>
    <tr><td> <%= listallmessages.get(i).message_name %>
</td></tr>
<%}%>
</table>
</html:form>
</body>
</html>

注意:我对struts-config.xml没有问题,我很清楚我会在struts-config.xml中做什么,只是我需要一个人帮助我使用struts在jsp文件中使用List。

非常感谢 :) 二进制人

【问题讨论】:

    标签: jsp struts jsp-tags struts-1


    【解决方案1】:

    我不会在您的 JSP 页面中使用 scriptlet(Java 代码) - 最好使用标记库,例如 JSTL 或 Struts taglib。

    使用来自 JSTL 的 c:forEachc:out 的示例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    
    <c:forEach var="message" items="${listallmessages}">
        <c:out value="${message.message_name}"/> 
    </c:forEach>
    

    Struts标签库包含logic:iteratebean:write,使用类似:

    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    
    <logic:iterate name="listallmessages" id="message">     
        <bean:write name="message" property="message_name"/> 
    </logic:iterate>
    

    【讨论】:

    • 亲爱的@MartinWilson,非常感谢您的帮助,我现在遇到了一个新问题:我已经编写了 tage lib .... 但我得到了错误:“绝对 uri:java.sun .com/jsp/jstl/core 无法在 web.xml 或使用此应用程序部署的 jar 文件中解析”代替 taglib ...我知道我将在 web.xml 文件中定义它,但我将如何做吗?请帮帮我
    • 天哪!!!我找到了这个问题的解决方案,只是我已经在我的项目中包含了 struts jar 文件,并且一切正常!!!
    猜你喜欢
    • 2015-12-11
    • 2014-06-08
    • 2015-05-08
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    相关资源
    最近更新 更多