2011-07-19 67 views
1

我使用atocompleter在我的形式与json。 这是我的struts.xml的一部分Struts2 jQuery与JSON自动完成器

<package name="default" extends="struts-default,json-default"> 

    <action name="jsonSample" class="com.jaisar.jsep.product.web.action.DatabaseJSON" method="getDatabaseJSONData" > 
     <result type="json"/> 
    </action> 
</package> 

我的JSP页面:

<%@ taglib prefix="s" uri="/struts-tags" %> 
<%@ taglib prefix="sj" uri="/struts2-jquery-tags"%> 

<s:url id="remoteurl" action="jsonSample.action"/> 
    <sj:select 
    href="%{remoteurl}" 
    id="echo" 
    name="echo" 
    list="languageList" 
    emptyOption="true" 
    headerKey="-1" 
    headerValue="Please Select a Language"/> 

Action类的方法是:

public class DatabaseJSON extends ActionSupport { 
    private List<String> languageList; 
public String getDatabaseJSONData() { 
     languageList = new ArrayList<String>(); 
     languageList.add("Java"); 
     languageList.add("PHP"); 
     languageList.add("C#"); 
     return SUCCESS; 
    } 
// Setters and getters for languageList .. 
} 

但页面不随负载autocompleter。页面显示简单的选择框...任何解决方案? PLZ ...我refered了很多,但我couln't找到silution ...

我提到的网站http://code.google.com/p/struts2-jquery/wiki/SelectTag#Receive_Entrys_from_a_simple_String_List

在此先感谢...

+0

您应该接受一些答案 – Rafay

+2

如果您的json调用成功,请检查Firebug。 – Johannes

+1

@Zemzela他可以使用任何他想要的方法名称,只要他在他的动作映射中进行配置,这显然是他拥有的。而'success'是默认的结果名称,所以不需要显式声明。 – doctrey

回答

0

您没有在struts.xml中指定结果名称。请尝试:<result name="success" type="json">

+0

我指定它...但值不填充选择框中... 。我使用萤火虫在浏览器中检查json值...当我在浏览器中放置url ** http:// localhost:8090/jsep/jsonSample.action **时,它会显示如{“databaseJSONData”:“success”, “languageList”:[“Java”,“PHP”,“C#”]} ...但是这些val你不在选择框中填充....在此先感谢... – Muthu

1

我会尝试把dataType='json'属性, sj:select标签。

+0

我检查浏览器中的json值firebug ...当我在浏览器中放置url ** http:// localhost:8090/jsep/jsonSample.action **时,它会显示如{“databaseJSONData”:“success”,“languageList”:[“Java” ,“PHP”,“C#”]} ...但这些值不填充在选择框....在此先感谢... – Muthu