struts2-jquery下拉框没有填充

时间:2014-06-03 14:41:58

标签: java jquery struts2

我有<sj:select>标记的下拉框,我似乎无法填充。我在通过href引用的动作中有一个getter,但它似乎没有触发该动作,所以它没有看到getter。我正在使用这种方法,应该从我从一些教程中看到的方法开始,但我显然在某处遗漏了某些东西。

现在它处于当前状态,它只是渲染并清空下拉框。

快速了解我认为应该发生的事情:

  • 页面应通过InputAction加载,并使用20个字符串列表填充列表变量
  • <sj:select>应触发href
  • 中引用的操作
  • 应该触发填充我的列表框的RateClass操作

我这样做是因为基于此框的输入,我将在此应用程序中为将来的选择框切换输入和输出字符串列表。

行动类:

public class RateClass extends InputAction{

/**
 * 
 */
private static final long serialVersionUID = -836858635953762820L;
private String selectedUtility;

public String execute(){
    return SUCCESS;
}

public String getJSON(){
    System.out.println("YAY JSON!!!");
    return execute();
}

public List<String> getUtilityList() {
    return utilityList;
}

public String getSelectedUtility() {
    return selectedUtility;
}

public void setSelectedUtility(String selectedUtility) {
    this.selectedUtility = selectedUtility;
}

}

Struts.XML json包:

 <package name="jsonPackage" extends="json-default" namespace="/">
    <action name="rateclass" class="rateclass">
         <result name="success" type="json" />
    </action>
 </package>

Bean定义:

    <bean id="rateclass" class="com.action.input.RateClass" scope="prototype">
</bean>

相关的.jsp摘录:

    <label for="utility">Utility: </label>
<sj:select style="margin-left:50px;" href="%{remoteurl}" id="utility"
            name="selectedUtility" list="utilityList"
            headerKey="-1" headerValue="Please Select a Utility"/>

Struts URL定义:

<s:url id="remoteurl" value="rateclass"></s:url>

1 个答案:

答案 0 :(得分:0)

问题出在我的InputAction类的prepare()函数中,该函数是从我的JSON类扩展而来的。在其中有一个由于我没有在我的RateClass bean中定义的DAO对象而被抛出的nullpointer被处理。