Struts2 如何从web.xml调用操作名,而不是在浏览器的url中键入操作名

Struts2 如何从web.xml调用操作名,而不是在浏览器的url中键入操作名,struts2,Struts2,在我的struts2应用程序中,我有一个类似这样的struts2标记复选框列表 <s:checkboxlist name="yourSelect" label="Are You Inteterested In" list="communityList" value="defaultSelect" /> 我在action类构造函数中添加了列表元素 是否查看从纯拷贝到剪贴板打印 public CustomerAction() {

在我的struts2应用程序中,我有一个类似这样的struts2标记复选框列表

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

我在action类构造函数中添加了列表元素

是否查看从纯拷贝到剪贴板打印

 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=新的ArrayList();
社区列表。添加(“WebSpere咨询”);
社区列表。添加(“门户咨询”);
communityList.add(“SOA/BPM咨询”);
社区列表。添加(“内容管理”);
}  
public CustomerAction(){communityList=new ArrayList();communityList.add(“WebPere咨询”);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>

/页面/Customer.jsp
列表未填充,当我从其构造函数具有列表值的类的struts.xml请求操作名称时,列表正在填充


如何将web.xml中的操作名称称为欢迎列表文件,而不是在url中键入操作名称….

您可以在其
中创建一个新的欢迎jsp或html文件:


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


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

创建一个带有重定向的简单JSP

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


Hi感谢您的回答,它工作正常,现在我可以调用url中的action类来加载复选框列表值,但是如果我调用action类来呈现jsp页面,则会显示验证。实际上,验证应该在我按下页面中的提交按钮后出现。在输入时没有。那么我如何解决这个问题呢?您可以在action类中创建一个名为prep()的方法,负责呈现jsp,然后从验证中排除prep()。excludeMethod参数在拦截器堆栈定义中执行此操作:
<% response.sendRedirect("myaction.action"); %>