Select Struts 2选择由列表填充的标记属性

Select Struts 2选择由列表填充的标记属性,select,struts2,tags,Select,Struts2,Tags,我是struts 2的新手。我在用列表属性填充Select标记时遇到问题。这些值由action类提供。请为我提供此场景的示例sode 我的动作课 public class TripDetailsAdd extends ActionSupport { @Override public String execute() throws Exception { return SUCCESS; } public String populate() {

我是struts 2的新手。我在用列表属性填充Select标记时遇到问题。这些值由action类提供。请为我提供此场景的示例sode

我的动作课

public class TripDetailsAdd extends ActionSupport {

    @Override
    public String execute() throws Exception {
        return SUCCESS;
    }

    public String populate() {
        VehicleDAO vehicleDAO = new VehicleDAO();
        this.lstVehicles.addAll(vehicleDAO.getAllVehicles());
        return "populate";
    }   

    private String vehicleId;   
    private Collection lstVehicles = new ArrayList<VehiclesVO>();
}
公共类TripDetailsDD扩展了ActionSupport{
@凌驾
公共字符串execute()引发异常{
回归成功;
}
公共字符串填充(){
VehicleDAO VehicleDAO=新车辆DAO();
此.lstVehicles.addAll(vehicleDAO.getAllVehicles());
返回“填充”;
}   
私家车;
私人收藏lstVehicles=新ArrayList();
}
Jsp页面内容:

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sform" uri="/struts-dojo-tags"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="com.vms.business.dao.VehicleDAO"%>
<%@page import="java.util.Collection"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Trip Details</title>
</head>
<body>
<s:form action="tripDetailsAdd" method="POST" >
    <s:hidden name="expenseTypeId"></s:hidden>
    <table width="100%" height="96%" cellpadding="0" cellspacing="0">
        <tr>
            <td valign="top"><!-- Menu Starts  --> <jsp:include
                page="/pages/menu.jsp"></jsp:include> <!-- Menu End  -->
            <table width="95%" align="center">
                <tr>
                    <td>
                    <table width="100%" border="0" cellpadding="0" cellspacing="0">

                        <tr>
                            <td class="highlight">Trip Details Add</td>
                            <td><s:actionerror /><s:actionmessage /></td>
                        </tr>
                        <tr>
                            <td class="header3shadow" colspan="2"><img height="2"
                                border="0" width="100%"></img></td>
                        </tr>
                    </table>
                    <table>
                        <tr>
                            <td>&nbsp;</td>
                        </tr>
                    </table>
                    <div
                        style="overflow: auto; height: expression((document.body.clientHeight -80) +px ');">
                    <table width="60%" cellspacing="0" cellpadding="0" border='0'>
                        <tr>
                            <td class="FieldTitle" valign="top">
                            <table width="100%" cellspacing="4" cellpadding="0" border='0'>
                            <s:select headerKey="0" headerValue="Select One" required="*" label="Vehicle No."
                             labelSeparator=":"   list="lstVehicles" listKey="vehicleId" listValue="regNo"></s:select>

                            </td>
                        </tr>
                        <tr>
                            <td>
                            <table width="100%" cellspacing="4" cellpadding="0" border='0'>
                                <s:textfield labelposition="left" requiredposition="right"
                                    name="totalIncome" label="Total Income" cssStyle="FieldTitle"
                                    labelSeparator=":"></s:textfield>
                            </table>
                            </td>
                        </tr>
                    </table>

                    <table cellpadding="0" width="60%" cellspacing="0" border="0">
                        <tr>
                            <td align="right"><s:submit label="Add" value="Add"></s:submit></td>
                        </tr>
                    </table>
                    </div>

                    <table border="0" cellspacing="0" cellpadding="0">
                        <tr>
                            <td>&nbsp;</td>

                        </tr>
                    </table>
                    </td>
                </tr>
            </table>
            </td>
        </tr>
    </table>
</s:form>
</body>
</html>

行程详情
行程详情添加
映射

<action name="*TripDetailsAdd" method="{1}"
            class="com.vms.trip.presentation.TripDetailsAdd">
            <result name="success" type="redirect">showTripDetailsList
            </result>
            <result name="populate">/pages/tripdetails/TripDetailsAdd.jsp
            </result>
            <result name="error">/pages/tripdetails/TripDetailsAdd.jsp
            </result>
            <result name="input">/pages/tripdetails/TripDetailsAdd.jsp
            </result>
        </action>

showTripDetailsList
/pages/tripdetails/TripDetailsAd.jsp
/pages/tripdetails/TripDetailsAd.jsp
/pages/tripdetails/TripDetailsAd.jsp
在此情况下,如果我添加验证文件或页面下拉列表中出现任何错误,则不会加载。请帮助我。


这个问题在第一次加载时就解决了。当出现错误时,下拉列表无法加载。您可以发布您尝试执行的代码吗?
<s:select label="Pets"
       name="petIds"
       list="petDao.pets"
       listKey="id"
       listValue="name"
       value="%{petDao.pets.{id}}"
/>
public List getLstVehicles ()
{
    return this.lstVehicles;
}