你爲什麼不嘗試用Ajax做到這一點?你可以執行一個動作,操縱數據,然後在JSP中得到結果?
在JSP:
function javascript_function(inputIfAny)
{
$.getJSON("<s:property value='%{ajaxCallUrl}' />",
{ value: value},
function(data)
{
dataAttributeValue = data.valueToSendToJSP; // If needed
});
}
<s:url id="ajaxCallUrl" action="actionName" method="ajaxMethod" />
而且在Struts 2的動作:
public void ajaxAccountUpdateHandle()
{
Map<String, Object> params = ActionContext.getContext().getParameters();
String value = params.get("numAcn");
try
{
JsonFactory f = new JsonFactory();
JsonGenerator generator = f.createJsonGenerator(response.getOutputStream());
// Do stuff
generator.writeStartObject();
generator.writeStringField("valueToSendToJSP", "foo");
generator.writeEndObject();
generator.flush();
generator.close();
}
catch (JsonGenerationException e)
{
}
catch (IOException e)
{
}
}
這樣,你甚至不需要在struts XML的條目。
我試過了。它只是給了我一個空白頁面。我試圖使用GET和POST方法,以相同的結果 –
也,我試圖讀取變量的值使用 –
我已編輯我的答案簽出。 – Babel