2013-11-01 62 views
0

我新的portlet的,我有一個visit.jsp頁面與href標記如下:如何調用在JSP HREF當點擊的方法(使用portlet的JSR 286和Spring MVC 3)

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

基本上我的要求是我只需要在VisitController.java中調用一個名爲methodVisit的方法,當我點擊href並返回visit.jsp。 然後在我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請做?

回答

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; 

} 
0

爲什麼不使用Ajax,一旦Ajax請求完成更新鏈接?

var visitLink = $("a:contains('Visit')"); 
$(visitLink).click(function(event) { 
     $.ajax({ 
        url:"www.randomUrl.com", 
        success: function() { 
        $(visitLink).hide(); 
       } 
     }); 
     event.preventDefault(); 
}); 
相關問題