[英]UnsupportedOperationException with portetRequestDispatcher in Liferay 7.1
I'm getting a issue with a portletRequestDispatcher that give me an UnsupportedOperationException.我遇到了一个 portletRequestDispatcher 的问题,它给了我一个 UnsupportedOperationException。
So, I have a part of my jsp page look like this :所以,我的jsp页面的一部分看起来像这样:
<div id="correspTree">
<%@include file="html/fragment/correspTree.jsp"%>
</div>
. . When i'm changing a value in an input, it calls the javascript function :
当我更改输入中的值时,它会调用 javascript 函数:
function refreshTree(inputElement){
var correspCode = $(inputElement).val();
var url = $("#refreshTreeURL").val();
$.ajax({
url : url,
data : {
correspCode:correspCode
},
type: 'POST',
success : function(data) {
console.log(data);
}
});
}
Then, i lands in my function :然后,我进入我的功能:
private void refreshTree(ResourceRequest resourceRequest, ResourceResponse resourceResponse){
PortletRequestDispatcher portletRequestDispatcher = getPortletContext().getRequestDispatcher("html/fragment/correspTree.jsp");
String correspCode = ParamUtil.getString(resourceRequest, KEY_CORRESP_CODE);
Map<Correspondent, Map<Correspondent, List<Correspondent>>> correspondentMap = CorrespondentLocalServiceUtil.findCorrespondentHierarchy(correspCode);
Map<String, Boolean> resultRightMap = new HashMap<String, Boolean>();
resourceRequest.setAttribute(KEY_CORRESP_MAP, correspondentMap);
resourceRequest.setAttribute(KEY_RESULT_RIGHT_MAP, resultRightMap);
try {
portletRequestDispatcher.include(resourceRequest, resourceResponse);
} catch (PortletException e) {
log.error(e);
} catch (IOException e) {
log.error(e);
}
}
And when i arrive in the portletRequestDispatcher.include i'm getting the UnsupportedOperationException :当我到达 portletRequestDispatcher.include 时,我收到了 UnsupportedOperationException :
2019-01-09 16:06:30.210 ERROR [http-nio-8080-exec-3][AbstractResultRightPortlet:182] null javax.portlet.PortletException: org.apache.jasper.JasperException: java.lang.UnsupportedOperationException at com.liferay.portlet.internal.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:301) at com.liferay.portlet.internal.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:128) at com.eurofins.cdxconnect.portlet.AbstractResultRightPortlet.refreshTree(AbstractResultRightPortlet.java:180) at com.eurofins.cdxconnect.portlet.AbstractResultRightPortlet.serveResource(AbstractResultRightPortlet.java:91) at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:146) at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:86) at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:140) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:78) at com.liferay.po
2019-01-09 16:06:30.210 错误 [http-nio-8080-exec-3][AbstractResultRightPortlet:182] null javax.portlet.PortletException: org.apache.jasper.JasperException: java.lang.UnsupportedOperationException at com. liferay.portlet.internal.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:301) 在 com.liferay.portlet.internal.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:128) 在 com.eurofins.cdxconnect.portlet.PortAbstractAbstractResultRightResultRight java:180) 在 com.eurofins.cdxconnect.portlet.AbstractResultRightPortlet.serveResource(AbstractResultRightPortlet.java:91) 在 com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:146) 在 com.liferay.portlet.ScriptDataPortletFilter .doFilter(ScriptDataPortletFilter.java:86) at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:140) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:78) at com.liferay.po rtal.kernel.servlet.PortletServlet.service(PortletServlet.java:108) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153) at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62) at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:118) at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:40) at com.liferay.portlet.internal.InvokerPortletImpl.invoke(InvokerPortletImpl.java:603) at com.liferay.portlet.internal.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:727) at com.liferay.portlet.internal.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:546) at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.serveResource(MonitoringInvokerPortlet.java:305) at co
rtal.kernel.servlet.PortletServlet.service(PortletServlet.java:108) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration。服务(EndpointRegistration.java:153)在 org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62) 在 org.eclipse.equinox.http.servlet.internal.context.DispatchTargets。 doDispatch(DispatchTargets.java:118) at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:40) at com.liferay.portlet.internal.InvokerPortletImpl.invoke(InvokerPortletImpl.java: 603)在com.liferay.portlet.internal.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:727)在com.liferay.portlet.internal.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:546)在com.liferay.portal.monitoring.internal .portlet.MonitoringInvokerPortlet.serveResource(MonitoringInvokerPortlet.java:305) 在 co m.liferay.portlet.internal.PortletContainerImpl._serveResource(PortletContainerImpl.java:985) at com.liferay.portlet.internal.PortletContainerImpl.lambda$serveResource$4(PortletContainerImpl.java:254) at com.liferay.portlet.internal.PortletContainerImpl._preserveGroupIds(PortletContainerImpl.java:390) at com.liferay.portlet.internal.PortletContainerImpl.serveResource(PortletContainerImpl.java:247)
m.liferay.portlet.internal.PortletContainerImpl._serveResource(PortletContainerImpl.java:985) at com.liferay.portlet.internal.PortletContainerImpl.lambda$serveResource$4(PortletContainerImpl.java:254) at com.liferay.portlet.internal.PortletContainerImpl ._preserveGroupIds(PortletContainerImpl.java:390) 在 com.liferay.portlet.internal.PortletContainerImpl.serveResource(PortletContainerImpl.java:247)
Thanks for your help谢谢你的帮助
I'm getting a issue with a portletRequestDispatcher that give me an UnsupportedOperationException.我遇到了一个 portletRequestDispatcher 的问题,它给了我一个 UnsupportedOperationException。
So, I have a part of my jsp page look like this :所以,我的jsp页面的一部分看起来像这样:
<div id="correspTree">
<%@include file="html/fragment/correspTree.jsp"%>
</div>
. . When i'm changing a value in an input, it calls the javascript function :
当我更改输入中的值时,它会调用 javascript 函数:
function refreshTree(inputElement){
var correspCode = $(inputElement).val();
var url = $("#refreshTreeURL").val();
$.ajax({
url : url,
data : {
correspCode:correspCode
},
type: 'POST',
success : function(data) {
console.log(data);
}
});
}
Then, i lands in my function :然后,我进入我的功能:
private void refreshTree(ResourceRequest resourceRequest, ResourceResponse resourceResponse){
PortletRequestDispatcher portletRequestDispatcher = getPortletContext().getRequestDispatcher("html/fragment/correspTree.jsp");
String correspCode = ParamUtil.getString(resourceRequest, KEY_CORRESP_CODE);
Map<Correspondent, Map<Correspondent, List<Correspondent>>> correspondentMap = CorrespondentLocalServiceUtil.findCorrespondentHierarchy(correspCode);
Map<String, Boolean> resultRightMap = new HashMap<String, Boolean>();
resourceRequest.setAttribute(KEY_CORRESP_MAP, correspondentMap);
resourceRequest.setAttribute(KEY_RESULT_RIGHT_MAP, resultRightMap);
try {
portletRequestDispatcher.include(resourceRequest, resourceResponse);
} catch (PortletException e) {
log.error(e);
} catch (IOException e) {
log.error(e);
}
}
And when i arrive in the portletRequestDispatcher.include i'm getting the UnsupportedOperationException :当我到达 portletRequestDispatcher.include 时,我收到了 UnsupportedOperationException :
2019-01-09 16:06:30.210 ERROR [http-nio-8080-exec-3][AbstractResultRightPortlet:182] null javax.portlet.PortletException: org.apache.jasper.JasperException: java.lang.UnsupportedOperationException at com.liferay.portlet.internal.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:301) at com.liferay.portlet.internal.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:128) at com.eurofins.cdxconnect.portlet.AbstractResultRightPortlet.refreshTree(AbstractResultRightPortlet.java:180) at com.eurofins.cdxconnect.portlet.AbstractResultRightPortlet.serveResource(AbstractResultRightPortlet.java:91) at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:146) at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:86) at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:140) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:78) at com.liferay.po
2019-01-09 16:06:30.210 错误 [http-nio-8080-exec-3][AbstractResultRightPortlet:182] null javax.portlet.PortletException: org.apache.jasper.JasperException: java.lang.UnsupportedOperationException at com. liferay.portlet.internal.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:301) 在 com.liferay.portlet.internal.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:128) 在 com.eurofins.cdxconnect.portlet.PortAbstractAbstractResultRightResultRight java:180) 在 com.eurofins.cdxconnect.portlet.AbstractResultRightPortlet.serveResource(AbstractResultRightPortlet.java:91) 在 com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:146) 在 com.liferay.portlet.ScriptDataPortletFilter .doFilter(ScriptDataPortletFilter.java:86) at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:140) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:78) at com.liferay.po rtal.kernel.servlet.PortletServlet.service(PortletServlet.java:108) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153) at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62) at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:118) at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:40) at com.liferay.portlet.internal.InvokerPortletImpl.invoke(InvokerPortletImpl.java:603) at com.liferay.portlet.internal.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:727) at com.liferay.portlet.internal.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:546) at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.serveResource(MonitoringInvokerPortlet.java:305) at co
rtal.kernel.servlet.PortletServlet.service(PortletServlet.java:108) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration。服务(EndpointRegistration.java:153)在 org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62) 在 org.eclipse.equinox.http.servlet.internal.context.DispatchTargets。 doDispatch(DispatchTargets.java:118) at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:40) at com.liferay.portlet.internal.InvokerPortletImpl.invoke(InvokerPortletImpl.java: 603)在com.liferay.portlet.internal.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:727)在com.liferay.portlet.internal.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:546)在com.liferay.portal.monitoring.internal .portlet.MonitoringInvokerPortlet.serveResource(MonitoringInvokerPortlet.java:305) 在 co m.liferay.portlet.internal.PortletContainerImpl._serveResource(PortletContainerImpl.java:985) at com.liferay.portlet.internal.PortletContainerImpl.lambda$serveResource$4(PortletContainerImpl.java:254) at com.liferay.portlet.internal.PortletContainerImpl._preserveGroupIds(PortletContainerImpl.java:390) at com.liferay.portlet.internal.PortletContainerImpl.serveResource(PortletContainerImpl.java:247)
m.liferay.portlet.internal.PortletContainerImpl._serveResource(PortletContainerImpl.java:985) at com.liferay.portlet.internal.PortletContainerImpl.lambda$serveResource$4(PortletContainerImpl.java:254) at com.liferay.portlet.internal.PortletContainerImpl ._preserveGroupIds(PortletContainerImpl.java:390) 在 com.liferay.portlet.internal.PortletContainerImpl.serveResource(PortletContainerImpl.java:247)
Thanks for your help谢谢你的帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.