ofbiz使用ajax简单例子

前端之家收集整理的这篇文章主要介绍了ofbiz使用ajax简单例子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近学习ofbiz,各种不习惯,尤其是ftl页面后台的交互,怎么传值怎么返回值,往往要搞半天,下面是今天做的一个ajax例子,只是简单的搞通ofbiz使用ajax的流程。

下面开始:

ftl页面

<td>账单编号<input id="accountId" name="accountId" type="text" onblur="checkAccount();"/><font id="rValue"></font></td>

function checkAccount(){
$.ajax({
type: "post",
url: "<@ofbizUrl>checkAccount</@ofbizUrl>",
data: "accountId="+$("#accountId").val(),
success: function (data) {
if(data.status && data.status == "success"){
//alert(data.returnMessage);
$("#rValue").css("color","red");
$("#rValue").text(data.returnMessage);

}

}
});
}


controller 页面
<request-map uri="checkAccount">
<security auth="false" https="false"/>
<event type="java" invoke="checkAccount" path="org.ofbiz.life.student.AccountService"/>
<response name="success" type="none"></response>
<response name="error" type="none"></response>
</request-map>


service的java
@SuppressWarnings("unchecked")
public static String checkAccount(HttpServletRequest request,HttpServletResponse response){
Delegator delegator = (Delegator) request.getAttribute("delegator");
Map outMap = FastMap.newInstance();
String accountId = request.getParameter("accountId");
try {
GenericValue gv = delegator.findByPrimaryKey("Account",UtilMisc.toMap("accountId",


accountId));
if(gv!=null){
outMap.put("returnMessage","数据库存在该账户");
}else{
outMap.put("returnMessage","数据库不存在该账户");
}
return JsonUtil.writeSuccessJson(outMap,response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "error";
}


writeSuccessJson这个方法将map转成json字符串,并通过response write出来

response中返回的json字符串是这样的{"returnMessage":"数据库存在该账户","status":"success"}

到此为止一个简单的ajax就实现了

猜你在找的Ajax相关文章