2012-08-14 35 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"> 

你忘了提及你的动作名称。