我有<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>
答案 0 :(得分:0)
问题出在我的InputAction类的prepare()函数中,该函数是从我的JSON类扩展而来的。在其中有一个由于我没有在我的RateClass bean中定义的DAO对象而被抛出的nullpointer被处理。