如何从web.xml调用操作名称,而不是在浏览器的URL上键入操作名称

时间:2010-07-20 09:06:09

标签: struts2

在我的struts2应用程序中,我有一个像这样的struts2标签复选框

 <s:checkboxlist name="yourSelect" label="Are You Inteterested In"    
       list="communityList" value="defaultSelect" /> 

我在动作类constuctor中添加了列表元素

查看plaincopy到clipboardprint?

 public CustomerAction()  
      {  
         communityList = new ArrayList<String>();  
            communityList.add("WebSpere Consultuing");  
          communityList.add("Portal Consulting");  
          communityList.add("SOA/BPM Consulting");  
            communityList.add("Content Management");  
    }  

public CustomerAction(){communityList = new ArrayList(); communityList.add(“WebSpere Consultuing”); communityList.add(“门户咨询”); communityList.add(“SOA / BPM咨询”); communityList.add(“内容管理”); }

我可以在jsp页面上显示它,

但问题是当我在web.xml中调用jsp页面时

<welcome-file-list>
<welcome-file>/pages/Customer.jsp</welcome-file>
</welcome-file-list>

list没有填充,当我从构造函数具有列表值的类的struts.xml请求动作名称时,列表正在填充

如何将web.xml中的操作名称作为welcome-list-file调用,而不是在url中键入操作名称.....

2 个答案:

答案 0 :(得分:1)

使用重定向创建一个简单的JSP。

<% response.sendRedirect("myaction.action"); %>

答案 1 :(得分:0)

您可以在<head>

中创建一个新的欢迎jsp或html文件
<meta http-equiv="Refresh" CONTENT="0; URL = /project/MyAction.action"/>

这将调用您的Struts2操作,该操作将处理填充ArrayList并将您转发到真实的欢迎页面。

This thread还有一些其他技巧也可以使用。