dojoオートコンプリートを使用して情報のハッシュマップのajax検索を実行しようとしていますが、ドロップダウンメニューに何も表示されていないようです。助けてください
私のJSPコード:
<sx:head/>
.......
<s:url id="companyList" action="AjaxAutoCompleteCompanyPOCAction" />
<sx:autocompleter name="company" href="%{companyList}" size="24" loadOnTextChange="true" preload="false" loadMinimumCount="1" showDownArrow="false" autoComplete="false" searchType="substring" key="rental.company"/>
私のStruts.XML:
<action name="AjaxAutoCompleteCompanyPOCAction" class="com.kodi.action.jobs.AjaxAutoCompleteCompanyPOCAction" method="retrieveListOfCompany" >
<result type="json">
<param name="root">json</param>
</result>
</action>
私の行動
public String retrieveListOfCompany(){
//if(KodiUtil.isMatch(getCompany())){ // validate special char
setJson(new HashMap<String, String>()); // create a JSON hashmap
if(company != null && company.length() > 0) { // check if string is empty
List<CompanyEntity> companylist = manager.retrieveCompanyName(getCompany()); // retrieve the companies name
for (CompanyEntity companies : companylist){
getJson().put(companies.getCompany_name(),""+companies.getCompany_id());
}
}
return "SUCCESS";
}
今のところ、コードはActionクラスでretrieveListOfCompany()を呼び出し、データを取得しますが、JSPページに表示されません。助けてください。このエラーが発生します。
No result defined for action com.kodi.action.jobs.AjaxAutoCompleteCompanyPOCAction and result SUCCESS
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:375)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
しかし、struts.xmlをに設定すると
<result name="SUCCESS" type="json">
<param name="root">json</param>
</result>
私はこれを得る=(
java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;
at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:157)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
私はこれにstruts2-dojo-plugin-2.1.8.1.jarを使用しています
ありがとう!