2014-08-28 45 views
1

我嘗試URL參數發送給Action類如下所述:How to access url parameters in Action classes Struts 2Struts 2:如何在Action中發送url參數?

如果我不喜歡未來,它的工作原理,我可以在Action類

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

得到pageLevel但未來不工作

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

這不工作太

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

我得到錯誤

重度:Servlet.service()的servlet和jsp拋出異常 org.apache.jasper.JasperException:/start.jsp(線:86,列:0) 根據TLD或屬性指令在標籤文件,屬性行爲 不接受任何表情

JSP頁面包含

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

我該怎麼辦呢?

+0

不要在'在S2以標籤的形式的EL表達式action'屬性,並使用scriplets,參數。使用隱藏字段。 – 2014-08-28 08:14:24

+1

您可以使用struts url標記在url標記內使用標記傳遞參數。 99 網址標記操作(通過%) – 2014-08-28 08:15:50

回答

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. 有你的索引行動 '級別' 屬性,其吸氣劑設置者

喜歡的東西:

public class Index extends ActionSupport { 

    private String level; 

    public String getLevel() { 
     return this.getLevel(); 
    } 

    public void setLevel(String level) { 
     this.level = level; 
    } 
} 
  1. 集「級別「作爲表單中的隱藏參數。

假設你的動作名稱是「指數」,並且請求參數爲「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> 
+0

nothingtodohere, 好的,但如何返回SUCCESS如何設置Action類的請求參數? – andy007 2014-08-28 09:45:04

+0

這個動作的結果是相同的頁面嗎?如果是這樣,您可以使用級別屬性值訪問「級別」: nothingtodohere 2014-08-30 20:49:31