2012-03-09 4 views
2

txt 파일에서 읽은 객체의 ArrayList 인 RegistrationFormBean()을 얻었습니다. 이 반환 된 ArrayList를 반복 내가 어떻게 요소에 액세스하는 방법 궁금하네요 그래서Struts 1.1 객체의 ArrayList에 대한 논리 반복자

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> 
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> 
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> 
<jsp:useBean id="userList" scope="request" class="com.webagesolutions.struts.actions.query"/> 



<html:html> 
<HEAD> 
<%@ page 
language="java" 
contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1" 
%> 
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<META name="GENERATOR" content="IBM WebSphere Studio"> 
<META http-equiv="Content-Style-Type" content="text/css"> 
<LINK href="theme/Master.css" rel="stylesheet" type="text/css"> 
<TITLE></TITLE> 
</HEAD> 

<BODY> 
    <table border=1> 
     <logic:iterate name="userList" id="nextElement" property="userList"> 
    <tr> 
    <td><bean:write name="nextelement" property="name"/></td> 
    <td><bean:write name="nextElement" property="cognome"/></td> 
    <td><bean:write name="nextElement" property="ddnascita"/></td> 
    <td><bean:write name="nextElement" property="codfisc"/></td> 
    <td><bean:write name="nextElement" property="citta"/></td> 
    </tr> 
    </logic:iterate>   
    </table> 
</BODY> 
</html:html> 

ArrayList의 각 요소에 대한 속성을 인쇄해야 JSP 페이지입니다

public List getuserList() throws IOException{ 

      InputStream input = new FileInputStream("log.txt"); 

       int i=0; 

       String temp[]=new String[5]; 

              tmp= new RegistrationFormBean(); 
       BufferedReader in = new BufferedReader(new FileReader("log.txt")); 

       while ((str = in.readLine()) != null) { 

           StringTokenizer st = new StringTokenizer(str,"\t\t"); 

        while(st.hasMoreElements()){ 
        temp[i]=st.nextElement().toString(); 
               } 

                tmp.setName(temp[0]); 
        tmp.setCognome(temp[1]); 
        tmp.setCitta(temp[4]); 
        tmp.setDdnascita(temp[2]); 
        tmp.setCodfisc(temp[3]); 

        userList.add(tmp); 
             } 
       in.close(); 

    return userList; 
} 

요소 유형은 다음 요소의 속성이 element.name element.cognome element.ddnascita (요소의 특성)라고 가정합니다. txt 파일을 읽는 클래스에서 일부 getter를 정의해야합니까? jsp 페이지의 요소 유형을 참조해야합니까?

참고로 필자가 작성한 코드는 첫 번째 열만 인쇄되고 내 tmp에는 "citta"가 포함되어 있습니다. 요소의 마지막 특성 인 도 디버그와 목록을 작성했습니다 내가 JSP 페이지에 있다고 가정하여 문제가 올바르게로드됩니다.

답변

3

<nested:nest> 태그를 사용하여 중첩 된 속성에 액세스 할 수 있습니다. 그것을 사용하려면 JSP 페이지에서 태그 라이브러리를 추가해야

<%@ taglib uri="/tags/struts-nested" prefix="nested"%> 

을 위의 예를 들어, 일부 cognome 같은 복합 속성과 같은 일반 문자열 속성이 부모 콩의 목록으로 userListname. 어디 사용자 정의 태그를 스트럿에 관한 몇 가지 괜찮은 참조를 찾을 수 아파치 페이지 옆에, 내가 찾던 무엇

<nested:nest property="userList"> 
    <!-- 'name' is just plain String, does not need a nested iteration --> 
    <nested:write property="name"/> 

    <!-- but 'cognome' has some inner properties, we are interested in exploring --> 
    <nested:iterate property="cognome"> 
     <nested:write property="somePropertyOfCognome"/> 
    </nested:iterate> 

</nested:nest> 
+0

들으 : 자,이 같은 userList을 반복 시작? –

관련 문제