开发环境:spring+struts2+ibatis
客户端页面代码:
function ajaxValName(value){
<%-- ajax charge has the word existed in the database --%>
var name=document.getElementById("keyword").value;
if(name==null || trim(name)==""){
alert("<s:text name="key.requireKey" />");
document.forms[0].keyword.focus();
return false;
}
var myAjax = new Ajax.Request(
'checkWord.action',
{method: 'post', parameters: 'key='+name, onComplete:
function(r){
if(r.responseText == "1"){
alert("<s:text name="key.addKeyWordExist" />");
document.forms[0].key.focus();
return false;
}else{
document.forms[0].submit();
}
}
}
);
}
action中的代码:
// ajax check the word is existed in the database
public void checkWord() {
HttpServletResponse response = ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Cache-Control", "no-cache");
String msgStr = "";
if (orderofcastManager.checkWord(key)) {
msgStr = "1";
} else {
msgStr = "0";
}
try {// response
response.getWriter().print(msgStr);
response.getWriter().close();
} catch (IOException e) {
e.printStackTrace();
}
}
service层中的代码:
public boolean checkWord(String keyword) {
List list = orderofcastDao.findWordByWord(keyword);
if(list == null || list.size()==0){
return false;
}else{
return true;
}
}
DAO层中的代码:
public List<Orderofcast> findWordByWord(String keyword) {
return (List<Orderofcast>)super.queryForList("orderofcast.findWordsByWord",
keyword);
}
sql-map.xml中的代码:
<select id="orderofcast.findWordsByWord" parameterClass="java.lang.String"
resultMap="orderofcastResult">
select * from SEARCH_PRWORDS where KEY_WORD = #keyword#
</select>