如何解决未识别JQuery AJAX JSF / jsf标签找不到FacesContext
| 我在使用jquery ajax和jsf组合时遇到问题。我不太确定这是否是一个常见问题,是否可以解决,但希望能找到解决方案。 这是场景。我们正在使用jsf开发门户项目。因此,在页面上,我们必须按表中的行(有时约为300-400)加载大量数据,并且每一行都有一个需要打开弹出窗口的链接。因此,为了不影响页面的性能,我打算延迟加载jsp(弹出内容)。所以想到去阿贾克斯。 jsp具有无法由ajax加载识别的jsf标签。我知道当jsp由ajax加载时,它将是一个普通/独立(un jsf \'tified)版本。 所以我的问题是:在这种情况下,如何使jsf(弹出内容)jsf固定化,以便jsf标签可见。 目前,我无法找到FacesContext。 我正在使用以下代码:jQuery.ajax({
type: \"GET\",cache: false,contentType: \"text/html; charset=ISP-8859-1\",url: \'<%=renderResponse.encodeURL(renderRequest.getContextPath()+ \"/tempfolder/tempLoader.jsp\") %>\',data:{param1:66,param2:88},success:function(msg) {
jQuery(\".loadContent\").html(msg);
jQuery(\"#viewpopupdiv\").children().show();
}
});
而我的jsp:
<%@taglib uri=\"http://java.sun.com/jsf/core\" prefix=\"f\"%>
<%@taglib uri=\"http://java.sun.com/portlet\" prefix=\"portlet\"%>
<%@taglib uri=\"http://www.ibm.com/jsf/html_extended\" prefix=\"hx\"%>
<%@taglib uri=\"http://java.sun.com/jsf/html\" prefix=\"h\"%>
<div id=\"view\" style=\"text-align:left\">
<table class=\"viewpopupdiv\" style=\"width:480px;background-color:#efedea;border-width: thin; border-color: #ff6633; border-style:solid;\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
<tr>
<td>
<table style=\"width:100%\">
<tr>
<td>
<table style=\"width:100%;background-color:#424341;\">
<tr>
<td class=\"editLineHeaderDarkLeft\">
<span class=\"\">Line ID</span> : <span class=\"headerValueForPopup\"><%=lineDetails.getDisplayableOrderLineId()%></span></td>
<td class=\"editLineHeaderDarkCenter\">
<span class=\"\">Order Number</span> : <span class=\"orderNumberHeaderValueForPopup\"><%=lineDetails.getDisplayableOrderHeaderId()%></span></td>
<td class=\"editLineHeaderDarkRight\"><div href=\"#\" onclick=\"closePopupForEditLine(\'closepopupdiv\')\"><img class=\"close\" src=\'<%=imgURL%>\' border=\"0\"></div>
</td>
</tr>
</table>
<td class=\"editLineHeaderDarkLeft\">
<div class=\"chargeTypeDropListJQ\">
<h:selectOneMenu value=\"#{popupBean.chargeTypeId}\" styleClass=\"selectOneMenu\">
<f:selectItems value=\"#{popupBean.chargeType}\" />
</h:selectOneMenu>
</div>
</td>
</tr>
</table>
</td></tr></table></div>
解决方法
找不到FacesContext
如果您在不调用ѭ2的情况下将JSF组件作为“普通香草” JSP运行JSP页面时,就会遇到此异常。它是创建creating3的负责人。请求URL必须与
FacesServlet
中的<url-pattern>
相匹配,因为它在web.xml
中定义,以使所有JSF标记正常运行。
假设网址格式为“ 7”,那么您需要更改
url: \'<%=renderResponse.encodeURL(renderRequest.getContextPath()+ \"/tempfolder/tempLoader.jsp\") %>\',
至
url: \'<%=renderResponse.encodeURL(renderRequest.getContextPath()+ \"/tempfolder/tempLoader.jsf\") %>\',
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。