js actionの戻り値の取得
今日、action実行メソッドの戻り値を取得する必要があるという問題があります.まず大体の考えを言いますが、実は簡単で、Jqueryの$を使います.postはajax jQueryを実行する.post(url,[data],[callback],[type])url:実行するactionのurl[data]:過去のパラメータを渡し、フォームで$(「form」)を使用できる.serialize()formのパラメータをすべて[callback]:コールバック関数で、戻り値を取得し、戻り値をパラメータとして使用します.例えばfunction(responseText){}type:戻るタイプを規定でき、html、text、xml、jsonなど具体的な解決策を説明します.
Action:
上のコードは私は実はコールバック関数の中でまたいくつかのものを書いて、実はこのように簡略化することができます
$.post("${basepath}/organ.do?o=doGetEditConsumeCount&orgId=${organ.id}&pageNum=1", $("form").serialize(),function(responseText){alert(responseText)},"text");
Action:
public ActionForward doGetEditConsumeCount(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String orgIdStr = request.getParameter("orgId");
int orgId = Integer.parseInt(orgIdStr);
MasOrgInfo organ = organService.getOrganById(orgId);
String consumeType = request.getParameter("consumeType"); //
String consumeDateStart = request.getParameter("consumeDateStart"); //
String consumeDateEnd = request.getParameter("consumeDateEnd"); //
String prStart = request.getParameter("priceStart"); //
Float priceStart = null;
if (!prStart.equals("")) {
priceStart = Float.parseFloat(prStart);
}
String prEnd = request.getParameter("priceEnd"); //
Float priceEnd = null;
if (!prEnd.equals("")) {
priceEnd = Float.parseFloat(prEnd);
}
String type = request.getParameter("type"); //
String packageName = request.getParameter("packageName"); //
String combo = request.getParameter("combo"); //
Integer comsumeNum=organService.getUpdateConsumeNum(orgId, type, packageName, combo, consumeType, consumeDateStart, consumeDateEnd, priceStart);
Long peopleNum=organService.getUpdateConsumePeopleNum(orgId, type, packageName, combo, consumeType, consumeDateStart, consumeDateEnd, priceStart);
String strNum="
"+comsumeNum+" , "+peopleNum+" ";
response.setContentType("text/xml;charset=utf-8"); //
response.getWriter().println(strNum); // ( )
return mapping.findForward(""); //
}
jsp js :
function update() {
if($('#type').val()!=null&&$('#type').val){
$.post("${basepath}/organ.do?o=doGetEditConsumeCount&orgId=${organ.id}&pageNum=1", $("form").serialize(),
// resonseText action strNum ,
function(responseText){
var msg = responseText+"
?
!";
if (confirm(msg)==true){
theform.action = "${basepath}/organ.do?o=doEditLotConsumes&orgId=${organ.id}";
theform.submit();
return true;
}else{
return false;
}
}
, "text");
}else{
alert(" : “ ”, “ ”");
}
}
上のコードは私は実はコールバック関数の中でまたいくつかのものを書いて、実はこのように簡略化することができます
$.post("${basepath}/organ.do?o=doGetEditConsumeCount&orgId=${organ.id}&pageNum=1", $("form").serialize(),function(responseText){alert(responseText)},"text");