Показать ArrayList с Struts2 и JSP - PullRequest
       31

Показать ArrayList с Struts2 и JSP

1 голос
/ 05 декабря 2010

Я пытаюсь выучить Struts2, так что это довольно простой вопрос.

У меня есть страница input_database.jsp и соответствующий ей класс input_database.java

в файле класса Iесть массив строк с мутатором и аксессором.Я хочу отобразить его в своем файле .jsp

Я пытался использовать a, чтобы сделать это, но я думаю, что я делаю что-то в корне неправильно.

вот код, который я пытался использовать в файле jsp.arraylist - это закрытый список строк с именем query_data.моя конечная цель - отобразить массив списков строк для отображения моего оператора select, но сначала мне нужно выяснить несколько простых строк.Если кто-то знает, что я делаю неправильно, или может указать мне на учебник, который я упустил, это было бы здорово

спасибо

<s:iterator value="query_data" id="something">

            <s:property value="something"/><br />

</s:iterator>

Ответы [ 5 ]

6 голосов
/ 05 декабря 2010

Display.java

import java.sql.Date;
import java.util.ArrayList;

import java.util.List;

import com.opensymphony.xwork2.ActionSupport;

public class Display extends ActionSupport{

    private static final long serialVersionUID = 1L;    
    List<PhoneBean> list = null;

    public List<PhoneBean> getList() {
        return list;
    }
    public void setList(List<PhoneBean> list) {
        this.list = list;
    }

    public String execute() throws Exception{
        list = new ArrayList<PhoneBean>();

        PhoneBean bean = new PhoneBean();
        bean.setName("juan dela cruz");
        bean.setAge(17);
        bean.setBirthDate(Date.valueOf("1987-1-1"));
        bean.setContactNumber("12345");
        list.add(bean);

        bean = new PhoneBean();
        bean.setName("john cruise");
        bean.setAge(14);
        bean.setBirthDate(Date.valueOf("1988-2-2"));
        bean.setContactNumber("67890");
        list.add(bean);

        return SUCCESS;
    }

}

PhoneBean.java

import java.sql.Date;
public class PhoneBean {
    private String name = null;
    private int age = 0;
    private Date birthDate = null;
    private String contactNumber = null;

    public String getContactNumber() {
        return contactNumber;
    }
    public void setContactNumber(String contactNumber) {
        this.contactNumber = contactNumber;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Date getBirthDate() {
        return birthDate;
    }
    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }
}

struts.xml

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <package name="default" extends="struts-default">
        <action name="Display" class="phoneBook.Display">
             <result>/display.jsp</result>
        </action>
    </package>
</struts>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

display.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<s:iterator status="stat" value="list">
<s:property value="name"/>     <s:property value="age"/>  
<s:property value="birthDate"/>  <s:property value="contactNumber"/>
</s:iterator>
</body>
</html>
2 голосов
/ 06 ноября 2012

В теге свойства укажите атрибут списка, который вы хотите отобразить.Предположим, у вас есть поле в классе действия List<User> userNames, и вы можете использовать его следующим образом.где класс User имеет свойство userName.

    <s:iterator var="i" step="1" value="userNames">
        <s:property value="userName" ></s:property>
    </s:iterator>

или, если это простой arrayList, вы можете использовать его следующим образом:

List<Integer> integers;

    <s:iterator var="i" step="1" value="integers">
        <s:property></s:property>
    </s:iterator>
1 голос
/ 25 апреля 2016
 <s:iterator  var="i" step="1" value="arraylistName">
 <s:property value="fieldName">
 </s:iterator>

ArrayList "arrayListName" должен иметь сеттер и геттер в действиях Struts. ArrayList будет иметь некоторый объект, fieldName - это имя атрибута, содержащегося в объекте. Как Car - это объект, а скорость - его атрибут.

0 голосов
/ 03 февраля 2011

Здесь - рабочий пример (проект Netbeans 6.9), иллюстрирующий, как выполнять итерации по массиву или списку объектов.

Кроме того, как отправить форму так, чтобы список объектоввоссоздается при отправке.

Просто разрешите ссылки и приступайте.

0 голосов
/ 06 декабря 2010

если вы хотите использовать список на своей странице jsp, то ваш итератор, но до этого проверьте, что ваш список не пуст ....

<s:iterator value="customerList" status="userStatus">

    <tr>
        <td><s:property value="customerId" /></td>   // Value is Y'r POJO Field
        <td><s:property value="name" /></td>
        <td><s:property value="address" /></td>
    </tr>

</s:iterator>
...