Struts 2:如何在Action中发送url参数?

时间:2014-08-28 07:33:53

标签: java struts2

我尝试将url参数发送到Action类,如下所述:How to access url parameters in Action classes Struts 2

如果我喜欢下一个,它可以工作,我可以在Action类中获得pageLevel

<s:form action="index?pageLevel=99">
    <s:checkboxlist label="Select" list="colors" name="yourColor" value="defaultColor" />
    <s:submit value="Submit" /> 
</s:form>

但接下来不起作用

<s:form action="index?pageLevel=<%=level%>">

这也不起作用

<c:set var="pageLevel" scope="page" value="<%=level%>" />
<s:form action="index?pageLevel=${pageLevel}">

我收到错误

  

SEVERE:Servlet jsp的Servlet.service()抛出异常   org.apache.jasper.JasperException:/start.jsp(第86行,第0列)   根据标签文件中的TLD或属性指令,属性动作   不接受任何表达

Jsp页面包含

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

我该怎么做?

2 个答案:

答案 0 :(得分:1)

试试这个

<s:form action="index">
    <s:checkboxlist label="Select" list="colors" name="yourColor" value="defaultColor" />
    <s:hidden name="pageLevel" value="%{pageLevel}"/>
    <s:submit value="Submit" /> 
</s:form>

答案 1 :(得分:1)

  1. 有一个&#39;级别&#39;索引操作中的属性及其getter和setter
  2. 类似的东西:

    public class Index extends ActionSupport {
    
        private String level;
    
        public String getLevel() {
            return this.getLevel();
        }
    
        public void setLevel(String level) {
            this.level = level;
        }
    }
    
    1. 设置&#39;级别&#39;作为表格中的隐藏参数。
    2. 假设您的行动名称为&#34; index&#34;请求参数是&#34; pageLevel&#34;:

      <s:form action="index">
          <s:checkboxlist label="Select" list="colors" name="yourColor" value="defaultColor" />
          <s:hidden name="level" value="%{#parameters.pageLevel}" />
          <s:submit value="Submit" /> 
      </s:form>