2012-08-14 65 views
0

我有以下的tiles.xml
如何在struts2中提交表單?

<definition name="m_st" extends="mmain"> 
    <put-attribute name="body" value="reports/st/list.jsp"/> 
</definition> 


代碼和下面的代碼在struts.xml中

<package name="m_st" namespace="reports/st" extends="struts-default, tiles-default"> 
    <action name="list" class="com.m.reports.StAction" method="list"> 
     <result type="tiles">m_st</result> 
    </action> 
</package> 


而在List.jsp和

<form name="rangeForm" method="post" action=""> 


在StAction.java,

private String type = ""; 

public String list() throws Exception { 

    type = "TEST"; //listStandard.get(0).getStatus(); 

    return SUCCESS; 
} 

但是當我點擊提交按鈕沒有任何反應,沒有錯誤,沒有輸出。如何在提交後在list.jsp中獲得如<s:property value="type"/>的預期結果。

回答

1

這是一個相當混亂的問題,措辭。你究竟在做什麼?如果您使用的是普通的舊JSP,並且該操作爲空,則您將提交給相同的JSP,並且不會執行任何操作。

如果您確實意味着您正在執行操作並且未在JSP中看到該屬性,則「爲什麼不」可以取決於您使用的是哪個版本的S2(更確切地說,是哪個版本的OGNL)。對於更高版本,OGNL將直接訪問公共字段,早期版本需要公共getter方法。

+0

我認爲我的stAction類中的list()方法沒有被調用。如何在提交表單時執行list()方法? – 2012-08-14 17:25:46

+0

@ aman.nepid將表單提交給操作。 – 2012-08-14 17:29:33

1
<form name="rangeForm" method="post" action="list"> 

你忘了提及你的動作名稱。