第一个JSP:调用Javascript函数:
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="continueTour" onclick="launchTutorial()">Take a Quick Tour</button>
</div>
Javascript函数:
function launchTutorial(){
var enjoyhint_instance = new EnjoyHint({});
var enjoyhint_script_steps = [
{
"next #newAuthorizationActive": 'To create an authorization form'
}
];
enjoyhint_instance.set(enjoyhint_script_steps);
enjoyhint_instance.run();
//Here's where i'm accessing the 'exportFile' controller method (shown further below)
$.ajax({
type : "POST",
url : $('#authorizationResourceURL').val(),
data : {action: "redirectToEmpInfoForAuthTour", tourStatus : 0},
success : function(data){
alert('success');
document.open();
document.write(data);
document.close();
}
});
控制器中的方法:
@ResourceMapping
protected void exportFile(ResourceRequest request, ResourceResponse response) throws IOException {
String action = ParamUtil.getString(request, "action", "");
if(action.equals("redirectToEmpInfoForAuthTour"))
{
//This is where I want to return the 2nd JSP from
}
我在这里寻找的具体内容:
我有一个JSP(第一个JSP),我试图向用户显示portlet的教程(使用enjoyhints)。作为本教程的一部分,我需要突出显示portlet的不同页面(JSP)上的元素(选择框,文本字段)。因此,在Javascript函数中,我首先突出显示(这个突出显示部分是由enjoyhints处理的)第一个JSP上的元素(这个工作正常),现在我想向用户显示第二个JSP,并使用enjoyhints,突出显示第二个JSP中的一些元素,依此类推第三个和第四个JSP。
如果有人有另外一种方法可以做到这一点,请告诉我。 这里的主要问题是我需要突出显示的元素位于不同的JSP页面上(同一个portlet)。如果所有元素都在同一页面上,那就简单了。
我使用Liferay Portal和Spring Portlet MVC作为我的设计模式。
更新:Here's another thing that I've been trying to achieve the same thing, but no luck
答案 0 :(得分:0)
您只需更改ResourceMapping
方法的签名即可返回字符串。
返回值可以是视图的名称(即JSP)。
答案 1 :(得分:0)
您可以使用返回类型定义资源方法,如下所示 ModelAndView 并在弹出窗口中显示整个jsp内容或附加到现有的html。
@ResourceMapping
protected ModelAndView exportFile(ModelMap model,ResourceRequest request, ResourceResponse response){
}