[英]struts2-jquery Using an action with further struts2 jquery elements inside a struts2 jquery dialog
我有一個帶模式struts 2 jquery對話框的主頁,該對話框調用包含struts表單的struts2動作。
主頁對話框代碼
<s:url id="newItemURL" var="newItemURL" action="addNewItem" />
<sj:dialog id="newItem" href="%{newItemURL}" title="Create New Item" width="700" position="top" autoOpen="false"
loadingText="Loading..." />
<sj:a id="addNewItem" openDialog="newItem" button="true" buttonIcon="ui-icon-refresh">New Item</sj:a>
addNewItem操作結果JSP
如果成功,此表單將提交並生成文本結果。
<div id="newItemForm">
<s:form action="addNewItem" id="addNewItem">
<fieldset>
<legend>Create a new item</legend>
<label for="description">Description: </label>
<s:textarea id="description" name="item.description" label="Description:" cols="20" rows="5"/><br />
<sj:submit id="submitNewItem" targets="resultNewItem" value="Submit" indicator="indicator" button="true" replaceTarget="true" />
</fieldset>
</s:form>
</div>
<div id="resultNewItem"></div>
addNewItem表單可以與<sj:head />
獨立運行,並且AJAX結果顯示在resultNewItem div中。 必須在addNewItem JSP中刪除<sj:head />
以避免與主頁沖突。
問題是,在提交表單時會在對話框中包括addNewItem Action作為對話框的一部分,因此會調用主頁操作,結果我在對話框中得到了另一個主頁。
我該如何解決?
編輯:
Struts配置
<action name="homepage"
class="com.actions.Homepage">
<result name="success" type="tiles">Homepage</result>
</action>
<action name="AddNewItem" class='com.actions.AddNewItem'>
<result name="success">/WEB-INF/jsp/addNewRisk/addNewRisk.jsp</result>
</action>
<action name="smoAddNewRiskINSERT" class="com.actions.AddNewItem" method="addNewRisk">
<result name="success">/WEB-INF/jsp/addNewRisk/success.jsp</result>
<result name="error">/WEB-INF/jsp/addNewRisk/error.jsp</result>
</action>
我要實現的目標用戶單擊按鈕以加載對話框,創建了addNewItem表單(AddNewItem操作),當用戶提交表單時,它是通過AJAX提交按鈕發送的,結果顯示在對話框中。
首先,給您的元素唯一的ID。 正如昆西指出的那樣。 其次,在您的struts.xml文件中,將操作名稱更改為addNewItem
而不是AddNewItem
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.