希望你能帮助我找到问题的答案,这些问题已经让我忙碌了2天。
我正在构建一个应用程序,用于制作影院预订,作为我一直关注的Java课程的一部分。
我尝试使用条带索引功能使用条纹文本输入字段填充地图对象。
请参阅下面的代码。
JSP:
<div id="results"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/146500lz.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/90926mrdv3ch8z.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/91317lz.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/Pacific_Rock.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/oak_smoked.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/labne.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/exho.jpg"></div>
上面的代码生成一个表格,您可以在其中放置客户详细信息,然后是显示剧院表演的部分和一个文本框,您可以在其中输入您想要订购的门票数量。按&#34;预约者&#34;转发到actionBean中的事件处理程序。
以下是我的ActionBean中的相关代码
public class TheaterActionBean扩展了BaseActionBean {
<c:set var="voorstellingen" value="${actionBean.theater.voorstellingen}" />
<s:form beanclass="theater.action.TheaterActionBean" method="get">
<d:table name="${actionBean}">
<d:column title="naam">
Naam:<s:text name="naam" title="Naam" size="30">Voer uw naam in</s:text>
</d:column>
<d:column title="telefoon" >
Telefoonnummer:<s:text name="telefoon" title="Telefoon" size="30">Voer uw telefoonnummer in</s:text>
</d:column>
</d:table>
<p></p>
<table id="voorstelling">
<thead>
<tr>
<th>Voorstelling</th>
<th>Datum</th>
<th>Aantal vrij plaatsen</th>
<th>Aantal te reserveren</th>
</tr>
</thead>
<tbody>
<c:forEach items="${voorstellingen}" var="voorstelling" >
<tr>
<td><c:out value="${voorstelling.naam}" /></td>
<td><c:out value="${voorstelling.datum.time}" / </td>
<td><c:out value="${voorstelling.aantalVrij}" /></td>
<td><c:out value="${voorstelling.id}" /></td>
<td><s:text name="aantal[${voorstelling.id}]"></s:text>
</tr>
</c:forEach>
</tbody>
</table>
<s:submit name="reserveer" value="Reserveren"/>
</s:form>
阅读其他一些资料,例如
http://www.coderanch.com/t/555416/oa/Stripes-Nested-Indexed-Properties-Select 和 https://stripesframework.atlassian.net/wiki/display/STRIPES/Indexed+Properties
我期待以下
private static final String FORMVIEW = "/WEB-INF/jsp/theater.jsp";
private String naam = null;
private String telefoon=null;
//private int aantal = 0;
private int id = 0;
private Map<Integer,Integer> aantal = null;
public String message = null;
......
public Resolution reserveer() throws TheaterException{
message = message + "Telefoon:" + telefoon + "Naam:" + naam + "Aantalreserveren:" + aantal;
Theater theater=getContext().getCurrentTheater();
if (aantal != null){
Iterator it = aantal.entrySet().iterator();
while (it.hasNext()){
Map.Entry paar= (Map.Entry)it.next();
message = message + "key " + paar.getKey() + "value" + paar.getValue();
}
}
return new ForwardResolution(FORMVIEW);
}
......
public void setAantal(Map<Integer,Integer> aantal){
this.aantal = aantal;
}
映射到我的ActionBean中名为aantal的Map属性,但ik不断返回null值。
我的目标是使用地图使用基础模型处理每个影院表演的单独预订。
我需要做些什么才能让它与条纹一起使用?
亲切的问候,
何
答案 0 :(得分:0)
虽然您的代码示例包含一些省略号,但可能是您没有为aantal
实现getter:
public Map<Integer,Integer> getAantal(){
return aantal;
}
不完全确定,但我相信Stripes会在ActionBean中对索引属性的getter进行内省,以获取绑定的泛型类型信息。