Forms 重定向到MVCPortlet中的renderURL不工作

Forms 重定向到MVCPortlet中的renderURL不工作,forms,liferay,portlet,Forms,Liferay,Portlet,我正在构建一个MVCPortlet Liferay 6.2 portlet。我有一张有两个按钮的表格。第一个按钮验证表单(提交)。第二个重定向到jsp。我很难让它工作: <portlet:actionURL name="mainSubmit" var="mainSubmitURL"></portlet:actionURL> <portlet:renderURL var="viewLogsURL"> <portlet:param name

我正在构建一个MVCPortlet Liferay 6.2 portlet。我有一张有两个按钮的表格。第一个按钮验证表单(提交)。第二个重定向到jsp。我很难让它工作:

<portlet:actionURL name="mainSubmit" var="mainSubmitURL"></portlet:actionURL>

<portlet:renderURL var="viewLogsURL">
        <portlet:param name="mvcPath" value="/jsp/logs.jsp"/> 
</portlet:renderURL>

<form ... action="<%=mainSubmitURL%>">
...
<div class="controls-row  ">
             <label class="span1"   ></label>
             <input class="span2 btn " type="submit" value="Submit Form" > 
             <label class="span4"   ></label>
             <input  class="span2 btn " onClick="<%=viewLogsURL.toString()%>" value="View Logs" />
        </div>
</form>

...
第一个按钮工作正常,但第二个按钮不会重定向到viewLogsURL

如果我替换:

<input  class="span2 btn " onClick="<%=viewLogsURL.toString()%>" value="View Logs" />

与:


然后,该按钮还使提交表单url(mainSubmitURL)而不是按钮url(viewLogsURL)成为一个新的选项

如果我使用:

     <aui:button  class="span2 btn " onClick="<%=viewLogsURL.toString()%>" value="View Logs" />

这实际上执行了正确的重定向,但我希望避免使用它,因为它会产生一些css样式的问题和一些过滤代理问题,而这些问题我与或没有关系。 因此,如果可能的话,我宁愿使用or(我很确定是这样)

我还试图改变:

<portlet:renderURL var="viewLogsURL">
        <portlet:param name="mvcPath" value="/jsp/logs.jsp"/> 
</portlet:renderURL>

与:


没有机会


Thx提前执行。

HTML
onclick
属性用于在单击元素时执行JavaScript代码。该值必须是有效的JavaScript代码,而不是URL。您可能把它与
属性弄错了

这是一个基本的HTML概念——有关更多详细信息,请参见示例说明

要使重定向正常工作,可以将重定向URL设置为当前位置:

<input class="span2 btn" onClick="location.href = '<%= viewLogsURL.toString() %>'" value="View Logs"/>

或者调用JavaScript函数:

<input class="span2 btn" onClick="<portlet:namespace/>doRedirect()" value="View Logs"/>

<script>
    function <portlet:namespace/>doRedirect() {
        location.href = '<%= viewLogsURL.toString() %>';
    }
</script>

函数doRedirect(){
location.href='';
}

Diky moc,非常感谢您的帮助,托马斯,它对我来说就像一个符咒:)
<input class="span2 btn" onClick="location.href = '<%= viewLogsURL.toString() %>'" value="View Logs"/>
<input class="span2 btn" onClick="<portlet:namespace/>doRedirect()" value="View Logs"/>

<script>
    function <portlet:namespace/>doRedirect() {
        location.href = '<%= viewLogsURL.toString() %>';
    }
</script>