Struts2 如何使用struts创建同一界面的多个视图?

Struts2 如何使用struts创建同一界面的多个视图?,struts2,struts,mobile-website,Struts2,Struts,Mobile Website,基本上,我正在创建一个可以通过手机和桌面访问的网站。所以我想创建两个视图 我的动作代码保持不变。其他一切都是一样的。只需对两者进行jsp更改。如何通过struts 1/2实现这一点?您需要在标头中传入一个查询参数或其他内容,以区分这两个请求。例如: 最后,在你的行动中: if ("mobile".equals(type)){ return "mobile"; }else { return ActionSupport.SUCCESS; } 在您的struts中有一个新的结果类型 &l

基本上,我正在创建一个可以通过手机和桌面访问的网站。所以我想创建两个视图


我的动作代码保持不变。其他一切都是一样的。只需对两者进行jsp更改。如何通过struts 1/2实现这一点?

您需要在标头中传入一个查询参数或其他内容,以区分这两个请求。例如:

最后,在你的行动中:

if ("mobile".equals(type)){
  return "mobile";
}else { 
  return ActionSupport.SUCCESS;
}
在您的struts中有一个新的结果类型

 <result name="success">/WEB-INF/jsp/somethign/web.jsp></result>
 <result name="success">/WEB-INF/jsp/somethign/mobile.jsp></result>
/WEB-INF/jsp/something/WEB.jsp>
/WEB-INF/jsp/something/mobile.jsp>

您还可以通过添加第三方jar“deli.jar”并使用其Profile、Workspace等类来检测请求url的移动设备的类型。在struts中,通过在xhtml中创建页面,您可以让移动用户查看页面,如下所示

谢谢。我认为还有一种方法是使用struts拦截器。若我得到移动设备的UA字符串,我可以设置一个参数is值堆栈。在我的基地行动中,为移动设备获取forwar。。