论坛首页 入门技术论坛

Spring form tag select的选中问题

浏览 7261 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-08-16  
        <appfuse:label styleClass="desc" key="cargoType.cargoTypeName"/>
        <form:errors path="cargoType" cssClass="fieldError"/>
        <c:choose>
        <c:when test="${not empty cargo.cargoType}">
        <form:select path="cargoType.cargoTypeId" cssClass="text medium" cssErrorClass="text medium error" id="cargoTypeId" >
	        <form:option value="" label="Please Select"/>
	        <form:options items="${cargoTypeList}" itemValue="cargoTypeId" itemLabel="cargoTypeName"/>
        </form:select>
        </c:when>
        <c:otherwise> 
        <select name="cargoTypeId" id="cargoTypeId">
        	<option value="">Please Select</option>
	        <c:forEach var="cargoType" items="${cargoTypeList}" varStatus="status">
	        	<option value="${cargoType.cargoTypeId}">${cargoType.cargoTypeName}</option>
	        </c:forEach>
        </select>
        </c:otherwise>
        </c:choose>


如果是新增,这个cargo.cargoType是为空,使用上面的那个情况就会报null错。怎么才能把上面两个给合并成一个呢??
   发表时间:2009-01-14   最后修改:2009-01-14
這個問題大家一般是怎么實現的呢?就是標籤的選中問題。我看了struts與spring的select,都沒有說怎么讓它默認選中!
0 请登录后投票
   发表时间:2009-01-14  
Spring的Select:
<form:select path="skills" items="${skills}"/>

Struct的Select:
<s:select
            tooltip="Choose Your Favourite Color"
            label="Favorite Color"
            list="{'Red', 'Blue', 'Green'}"
            name="favoriteColor"
            emptyOption="true"
            headerKey="None"
            headerValue="None"/>

    <s:select
            tooltip="Choose Your Favourite Language"
            label="Favourite Language"
            list="favouriteLanguages"
            name="favouriteLanguage"
            listKey="key"
            listValue="description"
            emptyOption="true"
            headerKey="None"
            headerValue="None"/>

這兩個標籤,如果有傳一下默認值,讓它選中,有沒有辦法實現?這個問題應該很常見的。
0 请登录后投票
   发表时间:2009-02-10   最后修改:2009-02-10
我已經找到答案了:

public class Cargo extends BaseObject implements java.io.Serializable {
	private CargoType cargoType = new CargoType();//增加"= new CargoType()"就可以解決空的問題了
}



在jsp中只要如下寫就可以選中了:
<form:select path="cargoType.cargoTypeId" cssClass="select medium" cssErrorClass="select medium error" id="cargoType.cargoTypeId" >
<form:option value="" label="Please Select"/>
<form:options items="${cargoTypeList}" itemValue="cargoTypeId" itemLabel="cargoTypeName"/>
</form:select>

0 请登录后投票
   发表时间:2009-02-12  
kevinhrw 写道
我已經找到答案了:

public class Cargo extends BaseObject implements java.io.Serializable {
	private CargoType cargoType = new CargoType();//增加"= new CargoType()"就可以解決空的問題了
}



在jsp中只要如下寫就可以選中了:
<form:select path="cargoType.cargoTypeId" cssClass="select medium" cssErrorClass="select medium error" id="cargoType.cargoTypeId" >
<form:option value="" label="Please Select"/>
<form:options items="${cargoTypeList}" itemValue="cargoTypeId" itemLabel="cargoTypeName"/>
</form:select>


但是這樣的效率不高,本來是不需要new這個對象的,這樣會產new很多對象出來,還有什麽好的辦法嗎?
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics