【问题标题】:<s:select> Error:The requested list key 'typeSurvey' could not be resolved [duplicate]<s:select> 错误:无法解析请求的列表键“typeSurvey”[重复]
【发布时间】:2009-11-02 16:42:21
【问题描述】:

这是我的jsp:

<s:form action="InsertSurvey">
        <table>
            <tr>
                <td> ID Survey: </td><td><s:textfield name="SurveyValues.survey.idtextsurvey"/> </td>
                <td> Tipo Survey: </td><td><s:select list="typeSurvey"/> </td>

            </tr>
        </table>
    </s:form>

这是我没有获取/设置的操作

public class InsertSurveyAction extends ActionSupport implements Preparable {

protected SurveyValues surveyValues;
protected List typeSurvey;
protected String typeSurveySelected;

public InsertSurveyAction() {

}

@Override
public String execute() throws Exception {
  return SUCCESS;
}

public void prepare() throws Exception {
    typeSurvey = new ArrayList();
    typeSurvey.add("Multi");
    typeSurvey.add("Singolo");
}

为什么我有这个问题? *

标签“选择”,字段“列表”: 请求的列表键“typeSurvey”可以 不能被解决为 集合/数组/映射/枚举/迭代器 类型。示例:人或人。{name} - [未知位置]

我有最新版本的 struts2。

【问题讨论】:

    标签: jsp struts2


    【解决方案1】:

    问题在于标签

    仅在提交后显式运行,在您的情况下,该操作未执行,因此 typeSurvey 值不可用。

    【讨论】:

      【解决方案2】:
      <struts>
      <constant name="struts.devMode" value="true"/>
      <constant name="struts.enable.DynamicMethodInvocation" value="false" />
      
      
      
      <package name="default"  extends="struts-default">
      
          <action name="InsertSurvey" class="it.survey.actions.InsertSurveyAction">
              <result name="success">/InsertSurvey_step1.jsp</result>
          </action>
      
      </package>
      

      【讨论】:

        【解决方案3】:

        问题是你没有为 typeSurvey List 声明一个 getter, 尝试 public List<String> getTypeSurvey() { return typeSurvey; }

        【讨论】:

          【解决方案4】:

          问题是您试图在不遍历任何操作的情况下到达 jsp 页面(直接访问 jsp 页面),因此未在流程中初始化您的列表。因此请尝试在操作的准备方法中初始化列表。

          【讨论】:

          • 感谢您的帖子!请不要在您的帖子中使用签名/标语。您的用户框算作您的签名,您可以使用您的个人资料发布您喜欢的任何关于您自己的信息。 FAQ on signatures/taglines
          【解决方案5】:

          只定义List typeSurvey的Getter和Setter

          并创建 typeSurvey 的对象,并将项目添加到构造函数中的列表中,而不是在 prepare 方法中。

          【讨论】:

          • 我尝试在构造函数中初始化列表,同时在实例变量区域中声明它。还是不走运! :(
          猜你喜欢
          • 1970-01-01
          • 2019-08-27
          • 2022-11-04
          • 1970-01-01
          • 1970-01-01
          • 2016-10-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多