Liferay Portal 6.0社区版 - 修改模板时的StackOverflowError

时间:2012-11-17 06:42:54

标签: java-ee liferay liferay-6 liferay-theme

我修改了默认模板 -

  • portal_normal.ftl
  • portal_normal.vm

添加了一些标签 -

...
            <h1 class="site-title">
                <a class="${logo_css_class}" href="${site_default_url}" title="<@liferay.language key="go-to" /> ${site_name}">
                    <img alt="${logo_description}" height="${site_logo_height}" src="${site_logo}" width="${site_logo_width}" />
                </a>

...my tags here..

                <#if show_site_name>
                    <span class="site-name" title="<@liferay.language key="go-to" /> ${site_name}">
                        ${site_name}
                    </span>
                </#if>
            </h1>
...

现在,当我尝试登录时,我看到一个空白屏幕,并在日志中指出 -

catalina.out中

...
    INFO: Server startup in 164719 ms
    06:23:13,302 ERROR [http-bio-8082-exec-3][IncludeTag:253] Current URL /web/guest/main?p_p_id=58&p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view&saveLastPath=0&_58_struts_action=%2Flogin%2Flogin generates exception: java.lang.StackOverflowError
    06:23:13,316 ERROR [http-bio-8082-exec-3][IncludeTag:154] java.lang.StackOverflowError
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
        at com.liferay.portal.kernel.io.unsync.UnsyncPrintWriter.write(UnsyncPrintWriter.java:385)
        at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:325)
...

这个例外是什么以及现在如何登录?

我想这不是重点。 我按原样返回了所有内容,但无法登录 - 空白屏幕。

尝试通过在url中键入http://localhost: 8082/c/portal/login来恢复登录portlet。

当我看到萤火虫时,我看到了登录请求的状态:

http://localhost:8082/c/portal/login?p_l_id=10691 302暂时移动

这意味着什么?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。需要在portal-ext.properties的属性中添加以下内容:

  

auto.login.hooks = com.liferay.portal.security.auth.CASAutoLogin,com.liferay.portal.security.auth.NtlmAutoLogin,com.liferay.portal.security.auth.OpenIdAutoLogin,com.liferay.portal .security.auth.OpenSSOAutoLogin,com.liferay.portal.security.auth.RememberMeAutoLogin,com.liferay.portal.security.auth.SiteMinderAutoLogin,com.liferay.portal.security.auth.ParameterAutoLogin

接下来,需要提出以下请求:

http://localhost:8082/web/guest?parameterAutoLoginLogin=some_email&parameterAutoLoginPassword=some_password

现在一切都好。

可在此处找到更多信息: