我有一個 struts2 jgrid,我希望能夠使用表單提交按鈕刷新信息。我一直在嘗試遵循這個(SO post)[動態數據重新加載到表單提交上的 struts2 jquery 網格]但是我有點困惑為什么我的過程沒有按預期工作。操作 updateRPJson 返回 json 類型作為響應,網格模型具有工作所需的所有 getter/setter 和屬性。首次加載包含此網格的網頁時,將調用操作方法并正確檢索信息。我期待表單內部的“刷新”按鈕將信息從表單發送到操作類,然后用它收到的響應重新填充網格。我認為刷新按鈕會發布“reloadMyGrid”主題,然后強制網格重新加載,導致從網格的 href 調用操作。我添加了 console.log 語句來確定什么被調用了,什么沒有被調用,并在我的操作類中添加了斷點以查看它何時被調用。我發現單擊刷新按鈕后,控制臺會收到“Test2”,表明 reloadMyGrid 已“發布”(我不認為這是正確的術語),但我的操作類從未被調用??刂婆_中缺少“測試”表示表單本身也未提交。如果我將表單按鈕改回 an<sj:submit/>并將表單更改onSubmit為action=updateRPJson,則頁面將正確信息顯示為純 json(而不是在網格內部)。這使我相信,如果在單擊按鈕后調用該操作,這是可行的,而不是操作本身的問題。我意識到這是一個冗長的有點具體的案例問題,但是任何關于如何使用表單提交按鈕更新 struts jqgrid 的過程的見解都將受到贊賞,因為我不完全理解我假設上面鏈接的帖子。標簽:<%@ page contentType="text/html; charset=UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%><%@ taglib prefix="sj" uri="/struts-jquery-tags"%><%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags" %>形式:<s:form id="getRPInstance" name="getRPInstance" onSubmit="return reloadGrid();" > <div class="type-text" align="center" style="width:50%;text-align:right;float:left"> <s:select name="location" id="location" list="#{'unit':'Unit', 'acceptance':'Acceptance', 'integration':'Integration','production':'Production'}" value="%{#session.location}" required="true"/> <s:select name="realm" id="realm" list="#{'int':'Internal', 'ext':'External', 'cld':'Cloud' }" value = "%{#session.realm}" required = "true"/> <div id="buttonDiv" class="type-button" align="center"> <sj:a button="true" onClickTopics="reloadMyGrid">Refresh</sj:a> </div> </div></s:form>
添加回答
舉報
0/150
提交
取消