有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaStruts2:如何发送url参数?

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

如果我真的喜欢next,它可以工作,我可以在Action类中获得pageLevel

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

但next不起作用

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

这也不管用

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

我犯了一个错误

SEVERE: Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: /start.jsp (line: 86, column: 0) According to TLD or attribute directive in tag file, attribute action does not accept any expressions

Jsp页面包含

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

我怎么做


共 (2) 个答案

  1. # 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>
    
  2. # 2 楼答案

    1. 在索引操作中有一个带有getter和setter的“level”属性

    比如:

    public class Index extends ActionSupport {
    
        private String level;
    
        public String getLevel() {
            return this.getLevel();
        }
    
        public void setLevel(String level) {
            this.level = level;
        }
    }
    
    1. 将“级别”设置为表单中的隐藏参数

    假设您的操作名称为“index”,请求参数为“pageLevel”:

    <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>