首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建新的(原始) struts路径?

如何创建新的(原始) struts路径?
EN

Stack Overflow用户
提问于 2015-04-24 02:45:35
回答 2查看 440关注 0票数 0

我曾经尝试过用现有的struts路径成功地覆盖现有的StrutsPortletAction。但是,如果我尝试创建自己的struts操作路径,我似乎不能这样做。

代码语言:javascript
复制
<hook>
    <custom-jsp-dir>/custom_jsps</custom-jsp-dir>
    <struts-action>
        <struts-action-path>/portal/set_viewers/</struts-action-path>
        <struts-action-impl>com.mine.blogs.hook.BlogEntryViewerStrutsPortletAction</struts-action-impl>
    </struts-action>
</hook>

eclispe给出了这个错误"/portal/set_viewers/“不在可能的值中”,当我继续部署构建的war时,tomcat错误为:com.liferay.portal.kernal.util.InstanceFactory can not access a member of class com.mine.blogs.hook.BlogEntryViewerStrutsPortletAction with modifiers ""

尝试了struts-动作路径,因为/blogs/set_viewers/也失败了。

这是我正在使用的.java。其实很基本。

代码语言:javascript
复制
package com.mine.blogs.hook;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletConfig;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.ResourceRequest;
import javax.portlet.ResourceResponse;
import com.liferay.portal.kernel.struts.StrutsPortletAction;


public class BlogEntryViewerStrutsPortletAction implements StrutsPortletAction {

BlogEntryViewerStrutsPortletAction(){
    super();
}

@Override
public void processAction(
    PortletConfig arg0, ActionRequest arg1, ActionResponse arg2)
    throws Exception {

    // TODO Auto-generated method stub
    System.out.println("process1");

}

@Override
public void processAction(
    StrutsPortletAction arg0, PortletConfig arg1, ActionRequest arg2,
    ActionResponse arg3)
    throws Exception {

    // TODO Auto-generated method stub
    System.out.println("process2");

}

@Override
public String render(
    PortletConfig arg0, RenderRequest arg1, RenderResponse arg2)
    throws Exception {

    // TODO Auto-generated method stub
    System.out.println("render1");
    return null;
}

@Override
public String render(
    StrutsPortletAction arg0, PortletConfig arg1, RenderRequest arg2,
    RenderResponse arg3)
    throws Exception {

    // TODO Auto-generated method stub
    System.out.println("render2");
    return null;
}

@Override
public void serveResource(
    PortletConfig arg0, ResourceRequest arg1, ResourceResponse arg2)
    throws Exception {

    // TODO Auto-generated method stub
    System.out.println("serve1");

}

@Override
public void serveResource(
    StrutsPortletAction arg0, PortletConfig arg1, ResourceRequest arg2,
    ResourceResponse arg3)
    throws Exception {

    // TODO Auto-generated method stub
    System.out.println("serve2");

}
}

和相应的生还者-hook.xml

代码语言:javascript
复制
<hook>
    <custom-jsp-dir>/custom_jsps</custom-jsp-dir>
    <struts-action>
        <struts-action-path>/blogs_entry/set_viewers/</struts-action-path>
        <struts-action-impl>com.mine.blogs.hook.BlogEntryViewerStrutsPortletAction</struts-action-impl>
    </struts-action>
</hook>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-28 03:05:09

这个错误是因为构造器造成的。我已经把它移除了,现在它正在正确地部署

票数 -1
EN

Stack Overflow用户

发布于 2015-04-24 08:46:19

请尝试将struts动作URL更改为"/portal“开头以外的其他内容。Liferay可能为门户级操作路径保留"/portal“。

例如,

代码语言:javascript
复制
        <struts-action-path>/blogs_entry/set_viewers/</struts-action-path>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29837856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档