我使用條紋框架,我有一個問題,我只是無法解決。條紋忽略提交按鈕事件
我在名爲「add.jsp」的文件夾「生物」中添加了一個頁面,它將一個生物(我模型中的某個實體)添加到數據庫中。我用這種形式在頁面:
add.jsp
<s:layout-render name="/layout.jsp" title="Creatures">
<s:layout-component name="menu">
<ul class="navcontainer" id="main-navigation">
<li><s:link href="/regions.jsp">Region</s:link></li>
<li class="current"><s:link href="/creatures/show.jsp">Creatures</s:link></li>
<li><s:link href="/types.jsp">Creature types</s:link></li>
<li><s:link href="/weapons.jsp">Weapons</s:link></li>
</ul>
</s:layout-component>
<s:layout-component name="main_content">
<div class="main-content">
<div class="content">
<img src="../images/banner.png" alt="Banner" id="banner"/>
<h1>Create a new creature</h1>
<s:link href="/creatures/show.jsp">Back</s:link>
<s:form beanclass="cz.muni.fi.pa165.creatures.web.CreaturesActionBean">
<%@include file="/forms/createCreature.jsp"%>
<s:submit name="create" value="Create"/>
</s:form>
</div>
</div>
</s:layout-component>
,這樣是相當的話,我還包括表單本身和我有名稱的提交按鈕=「創造」,這應該在動作bean中的「創建」方法上映射對嗎?
好了,所以我有一個類,它看起來像這樣:
@UrlBinding("/creatures/{$event}")
public class CreaturesActionBean implements ActionBean {
final static Logger logger =
Logger.getLogger(CreaturesActionBean.class.getName());
private ActionBeanContext context;
@SpringBean
protected CreatureService creatureService;
@ValidateNestedProperties(value = {
@Validate(on = {"create"}, field = "name", required = true, maxlength=256),
@Validate(converter=LongTypeConverter.class , on = {"create"},
field = "weight", required = false, minvalue=1, maxvalue=1000),
@Validate(converter=LongTypeConverter.class , on = {"create"},
field = "height", required = false, minvalue=1, maxvalue=1000)
})
private CreatureDTO creatureDTO;
public void setCreatureDTO(CreatureDTO creatureDTO) {
this.creatureDTO = creatureDTO;
}
public CreatureDTO getCreatureDTO() {
return this.creatureDTO;
}
public Resolution create() {
logger.log(Level.INFO, "add() creature={}", creatureDTO);
creatureService.create(creatureDTO);
return new RedirectResolution(this.getClass(), "all");
}
@DefaultHandler
public Resolution all() {
logger.log(Level.INFO, "getting all creatures");
return new ForwardResolution("/creatures/show.jsp");
}
因此,這意味着,當有一個與名字提交「創建」,在行動豆執行創建方法和creatureDTO是保存等。
但
,在行動豆「創造」的方法完全不執行,我正在重定向到被稱爲
http://localhost:8080/pa165/creatures/
應用程序上下文的頁面是pa165和重定向到後在我點擊提交按鈕後,我看到該目錄中所有文件的列表(add.jsp等等,生物目錄中的所有文件),並且方法根本沒有被執行,所有文件都是。
我希望被重定向到頁面的生物/ show.jsp我通過線
return new RedirectResolution(this.getClass(), "all");
處理,這意味着我將throught有
所有的方法被重定向爲什麼不起作用?