[英]How to pass javascript object in Struts2 autocompleter action?
我試圖通過參數發送JavaScript對象到Struts2自動完成操作。 但它不起作用。
這是我的代碼:
<script>
var nameList = new Array();
function func1(element)
{
console.log(element.value);
var index = nameList.indexOf(element.value);
element.checked ? nameList.push(element.value) : nameList.splice(index,1);
console.log(nameList.length+"---- "+nameList);
}
</script>
<s:form name="baseForm" id="baseForm">
<table width="100%" >
<tr>
<td ><s:text name="Units" /></td>
<td>
<s:iterator value="units" status="itr" id="un">
<input type="checkbox" onclick="func1(this)"
name="unitList[<s:property value="#itr.index"/>]"
value="<s:property value="#un" />" />
</s:iterator>
</td>
</tr>
<tr>
<td ><s:text name="Groups"/></td>
<td width="80%">
<sd:autocompleter href='get_groups.action?unitList=%{nameList}' id='unitAutoComplete' name='unitGroup' loadOnTextChange='true'
loadMinimumCount='1' showDownArrow='false' autoComplete='false' />
</td>
</tr>
</table>
</s:form>
根據選定的單位,應在自動填充程序中填充組。
所以我的第一個問題是可以通過參數將javascript對象發送到struts2動作嗎?
如果是,請建議我如何傳遞javascript對象作為參數。
您無法在同一請求中執行此操作。 autocompleter標記在服務器端呈現,但是您希望在已經呈現時使用JavaScript在客戶端修改它。
最好的辦法是對服務器進行ajax調用,並將變量傳遞給執行該操作的操作,以修改autocompleter操作返回的列表。
如何將JavaScript對象傳遞給服務器,您應該知道您需要JSON格式。 您可以閱讀Action以接受來自用戶界面的動態json數據,以獲取有關如何將JavaScript對象轉換為JSON並將其發送到操作的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.