2013-10-22 91 views
0

我尝试使用Spring Portlet MVC为LifeRay门户开发portlet。而在春季Portlet的默认渲染方法是这样的:在Portlet中指定默认渲染方法(Spring,Liferay)

@Controller 
@RequestMapping(value = "VIEW") 
public class MainController { 

    @RenderMapping 
    public String myDefaultRenderMethod() { 
     return "defaultView" 
    } 
} 

但如何我可以更改默认视图的方法是:

@RenderMapping(params="key=value") 
public String myDefaultRenderMethod() { 
    return "defaultView" 
} 

即我想告诉Spring使用参数“key = value”调用默认渲染(在portlet初始化)视图。

+0

什么你想在默认的渲染方法中使用'key = value'?为什么你不能拥有这两种方法?你确定'key = value'总是被传递给'Portlet'吗?如果没有,你的'Portlet'将会中断。 – Niranjan

回答

0

试试这个

@Controller 
@RequestMapping(value = "VIEW", params="key=value") 
public class MainController { 

    @RenderMapping 
    public String myDefaultRenderMethod() { 
     return "defaultView" 
    } 
} 

现在,这个控制器将只调用渲染请求中包含的关键参数设置的值=“valie”

其他请求可以使用水木清华这样

@Controller 
@RequestMapping(value = "VIEW", params="!=key") 
public class AnotherController { 
+0

'只会调用渲染请求包含value ='valie''的关键参数是的,但我如何在portlet启动时指定此键值参数?即我想让portlet在启动时调用'callmyDefaultRenderMethod()',所以我可以在哪里指定这个参数? – MyTitle

+0

如果你想在portlet初始化时调用一些代码,我相信你可以使用portlet初始化参数和bean初始化监听器(在spring情况下)或init方法(本地portlet情况)或者你想要不同的东西?谢谢 –

+0

Georgy,按照spring/portlet规范,默认的view方法是用'@ RenderMapping'注解的方法。但是我想用'@RenderMapping(params =“action = someAction”)''注释默认方法。如何实现这一目标? – MyTitle

相关问题