如何更改Weblogic Portlet 中的ContentURI?

发布于 2024-11-16 10:30:58 字数 751 浏览 3 评论 0原文

我正在开发一个使用 Weblogic portlet 和 Struts 的应用程序。我需要做的就是根据客户端使用的 Web 浏览器在同一个 portlet 中加载不同的 jsp。

例如:如果我有一个名为 home.portlet 的 portlet。如果用户使用 IE,则应在 home.portlet 中显示 IE.jsp,如果用户使用 firefox,则应在 home.portlet 中显示 firefox.jsp。

这就是我在 home.portlet 中所拥有的:

<netuix:content>
        <netuix:jspContent contentUri="IE.jsp"/>
    </netuix:content>


 //in struts config file
 <forward name="firefox" path="/firefox.jsp>

这就是我为实现它所做的 - 在 homeAction.java 中:

if(firefox)
return mapping.findForward("firefox");

因此,即使用户使用的是 Firefox,它也会显示 IE.jsp。 我们如何从 Struts Action Class 更改 portlet 中的 jsp 内容,以便我可以检查用户正在使用的浏览器类型并相应地显示页面?

感谢所有帮助和建议。

谢谢,

-赛

I am developing an application which uses Weblogic portlets and Struts. All I need to do is to load different jsp's in the same portlet based on the web browser that client is using.

For eg: If I have a portlet called home.portlet. If the user is using IE it should display IE.jsp in the home.portlet, if he is using firefox I should display firefox.jsp in home.portlet.

This is what I have in home.portlet:

<netuix:content>
        <netuix:jspContent contentUri="IE.jsp"/>
    </netuix:content>


 //in struts config file
 <forward name="firefox" path="/firefox.jsp>

This is what I did to achieve it- In homeAction.java:

if(firefox)
return mapping.findForward("firefox");

So even if the user is using firefox it is displaying IE.jsp.
How can we change the jsp content in the portlet from the Struts Action Class so that I can check the kind of the browser the user is using and display the page accordingly??

All help and suggestions appreciated.

Thanks,

-Sai

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

偏爱自由 2024-11-23 10:30:58

您必须在 homeAction.java 中检查浏览器并根据该浏览器进行转发。

尝试在您的操作中检查浏览器版本。

public void checkBrowserType (HttpServletRequest req)
{
   String s = req.getHeader("user-agent");
   if (s == null)
      return;
   if (s.indexOf("MSIE") > -1)
      System.out.println("using Internet Explorer");
   else if (s.indexOf("Netscape") > -1)
      System.out.println("using Netscape");
   // etc ...   
}

You will have to check for browser in your homeAction.java and do the forward based on that.

Try this to check browser version in your action.

public void checkBrowserType (HttpServletRequest req)
{
   String s = req.getHeader("user-agent");
   if (s == null)
      return;
   if (s.indexOf("MSIE") > -1)
      System.out.println("using Internet Explorer");
   else if (s.indexOf("Netscape") > -1)
      System.out.println("using Netscape");
   // etc ...   
}
自演自醉 2024-11-23 10:30:58

我的 portlet 没有针对 struts 配置。我现在改变了它,并且工作正常。

EG:

<netuix:strutsContent action="getStudentList" module = "people/students"
  refreshAction = "getStudentList" reqestAttrpersistence="none"/>

然后在操作类中我检查浏览器并显示适当的 jsp

My portlets wern't configured for struts. I changed that now, and its working fine.

EG:

<netuix:strutsContent action="getStudentList" module = "people/students"
  refreshAction = "getStudentList" reqestAttrpersistence="none"/>

And then in the action class I am checking for the browser and displaying the appropriate jsp

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文