2014-01-12 5 views
1

struts 프레임 워크을 사용하여 코드를 작성하려고합니다.Struts에리스트 <Object>을 사용하는 방법?

Struts에 새로운 기능이 있음,이 분야에 대한 경험이 없습니다.

스트럿츠의 개체 목록을 개체 목록으로 사용하고 싶습니다.

우리는 자바 클래스의 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; 
} 

}

그리고 내가 목록 '를 사용한다고 가정 listallmessages '은 다음과 같이 jsp 파일에 있습니다.

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> 

공지 사항 : 난, 난 그냥, 스트럿 - config.xml 파일에 무엇을 할 것인지 잘 알고있는 스트럿 - config.xml에 아무 문제가 없다 struts를 사용하여 jsp 파일에서 List를 사용하도록 도와 줄 사람이 필요합니다.

고마워요 :) 진 남자

답변

0

나는 당신의 JSP 페이지에 스크립틀릿 (자바 코드)를 사용하지 것이다 - 그것은 같은 JSTL 또는 스트럿츠 태그 라이브러리로 태그 라이브러리를 사용하는 것이 더 좋습니다. 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> 

스트럿츠 태그 라이브러리 사용하기 유사하다 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> 
+0

친애하는 @MartinWilson, 많이 도와 주셔서 감사합니다, 나는 이제 새로운 문제가 생겼습니다. 나는 tage 라이브러리를 썼습니다 ....하지만 오류가 있습니다 : "절대 URI : java.sun.com/jsp/jstl/core는 web.xml이나 jar 파일에서 해결할 수 없습니다. 이 응용 프로그램과 함께 배포 된 파일 "을 f taglib ... web.xml 파일에서 정의 하겠지만 어떻게 할 것인가? 나를 도와주세요 – BinaryMan

+0

O.M.G !!! 이 문제의 해결책을 찾았습니다. 단지 프로젝트에 struts jar 파일을 포함 시켰습니다. – BinaryMan