0

我是 portlet 的新手,我有一个带有 href 标记的 visit.jsp 页面,如下所示:

<a href="www.randomUrl.com">Visit ....</a>

基本上我的要求是当我单击href 并返回visit.jsp 时,我只需要调用一个methodVisit在a中调用的方法。VisitController.java然后在我methodVisit 的模型中添加一个名为 isVisited 的属性并返回到我的 visit.jsp 页面,因此我猜我的方法将具有以下行:

VisitController.java
public .. methodVisit(...){
model.addAttribute("isVisited", isVisited));
}

然后当我返回我的 visit.jsp 页面时,我可以使用这个检查:

<c:if test="${isVisited}"> 
Then display this line when href  is clicked from visit.jsp page
</c:if>

使用提交按钮时,我看到了以下示例:

<portlet:actionURL var="returnToSearchUrl" >
    <portlet:param name="ActController" value="returnToSearch" />
</portlet:actionURL>


    <input type="button" class="button" value='<spring:message code="button.returSearch" />' onclick="self.location='${returnToSearchUrl}'"/>




@ActionMapping(params = "ActController=returnToSearch")
    public void returnToSearch(){

    ......
    }

但是没有使用href的例子,请问如何使用href来做到这一点?

4

2 回答 2

0

尝试这个:

<a href = "${pageContext.request.contextPath}/methodVisit">Click here!</a>

@Controller
@RequestMapping(value ="/pathtoyourproject")
public class VisitController{

@RequestMapping(value = "/methodVisit")
public ModelAndView methodVisit(...){
ModelAndView mav = new ModelAndVew();
...
mav.addAttribute("isVisited", isVisited);
...
mav.setViewName("visit.jsp");
return mav;

}
于 2013-11-01T03:57:01.370 回答
0

为什么不使用 Ajax 并在 Ajax 请求完成后更新链接?

var visitLink = $("a:contains('Visit')");
$(visitLink).click(function(event) {
        $.ajax({
                    url:"www.randomUrl.com",
                    success: function() {
                    $(visitLink).hide();
                }
        });
        event.preventDefault();
});
于 2013-11-01T07:43:57.447 回答