2

我在 WebLogic12c 中遇到了 jsp:include 标记的一个非常奇怪的问题,并且不知道如何找到根本原因或修复它。请帮忙!!!

我在我的项目中使用 Struts 2.5.10.1 和 Tiles 3.0.7。JSP 页面非常简单。它基本上使用tiles模板并使用另一个动态包含的JSP页面为中央框架提供内容,如下所示:

...
   <tiles:insertDefinition name="defaultLayout">
   <tiles:putAttribute name="content">

        <div id="fragment-connection" class="aetab-content"> 
               <jsp:include page="idas_tab_connect.jsp" />
            </div> 

   </tiles:putAttribute>
</tiles:insertDefinition>  
...

问题是 idas_tab_connect.jsp 页面的全部内容仅包含文本,而不是包含在内。所有的 HTML 标记都消失了。即使我在结果页面上看到的不是输入文本字段,也只是值。

相同的代码在 JBoss 6.4 和 Tomcat 7 和 8 上运行良好。所以这似乎是一些特定于 WebLogic 的问题。

提前谢谢你的帮助。

额外细节:

  • JDK - 1.7;
  • Servlet 版本 - 2.4;
  • 操作系统 - Windows 10、x64;
  • 生成的 HTML 如下所示:

    <div id="fragment-connection" class="aetab-content"> 连接设置LDAP 连接设置主机:端口:389 使用 SSL:服务器上受信任的密钥库文件位置:用户 DN:密码:确认密码:</div>

根本原因

正如我在下面的评论中提到的那样,我找到了根本原因 - 包含页面中的页面编码/字符集设置为“UTF-8”

<%@page contentType="text/html; charset=UTF-8" %>

如果我将 charset/pageEncoding 更改为“utf-8”、“utf8”或完全错误的东西,例如“xxxx”或删除它,一切都开始对我正常工作。

很奇怪的问题。至少现在我有一个解决方法。

4

0 回答 0