我在WebLogic12c中遇到了jsp:include标签的一个非常奇怪的问题,并且不知道如何找到根本原因或修复它。请帮忙!!!
我在我的项目Struts 2.5.10.1和Tiles 3.0.7上使用。 JSP页面非常简单。它基本上使用切片模板,并使用另一个动态包含的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特有的一些问题。
提前感谢您的帮助。
其他详情:
生成的HTML如下所示:
&lt; div id =“fragment-connection”class =“aetab-content”&gt; 连接设置LDAP连接设置主机:端口:389使用SSL:服务器上的可信密钥库文件位置:用户DN:密码:确认密码: &LT; / DIV&GT;
根本原因
正如我在下面的评论中提到的,我发现根本原因 - 页面编码/字符集在包含的页面中设置为“UTF-8”
<%@page contentType="text/html; charset=UTF-8" %>
如果我将charset / pageEncoding更改为“utf-8”,“utf8”或完全错误的内容,例如“xxxx”或删除它,一切都开始正常工作。
非常奇怪的问题。至少现在我有一个解决方法。