I couldn't able to load my action class "search" method. I get the below error while typing inside my textbox with id paliName
.
Error - GET http://localhost:8080/Newgen/searchName.html?term=a 404
struts.xml
<struts>
<constant name="struts.action.extention" value="html" />
<package name="json" namespace="/" extends="json-default">
<action name="searchName" class="com.nexgen.web.PaliAction" method="search">
<result type="json">
<param name="root">jsonData</param>
</result>
</action>
</package>
</struts>
register.jsp
<s:textfield id="paliName" name="paliName" label="Palindrome" maxlength="100"/>
// A $( document ).ready() block.
$( document ).ready(function() {
$("#paliName").autocomplete({
source: function (request, response){
$.getJSON('http://localhost:8080/Newgen/searchName.html?term=' + request.term, function(
data){
response($.map(data.names, function(value,key){
return{
label: value,
value: key
};
}));
});
},
minLenght:1,
delay: 100
});
});
PaliAction.java
public class PaliAction extends ActionSupport implements ModelDriven<Palindrome> {
private static final long serialVersionUID = -6659925652584240539L;
private Map<String, Object> jsonData = new HashMap<String, Object>();
private Palindrome user = new Palindrome();
private String term = "";
public Palindrome getModel() {
return user;
}
/**
* To search for autocomplete.
* @return String
*/
public String search()
{
jsonData.put("names", userDAO.searchName(term));
return SUCCESS;
}
public Map<String, Object> getJsonData() {
return jsonData;
}
public void setJsonData(Map<String, Object> jsonData) {
this.jsonData = jsonData;
}
public String getTerm() {
return term;
}
public void setTerm(String term) {
this.term = term;
}
}