![](/img/trans.png)
[英]How to pass a object parameter to the controller Spring mvc by an onclick
[英]How to pass a parameter (that identify the primery key of an object) from the view to a controller using Spring MVC?
我在Spring MVC中還很陌生,對於如何正確地創建視圖頁面中的鏈接(必須由定義在控制器類中的方法來處理),我存在以下疑問。
所以我有以下情況:
進入視圖,我使用模型對象名稱
<c:forEach items="${scuola.twp1007Progettos}" var="progetto" varStatus="itemProgetto">
<!-- Visualizza il progetto solo se è un progetto PNSD: -->
<c:if test="${progetto.flgTipPrg == 'P'}">
<div class="group-item">
<a href="visualizzaProspetto">
<img src="<c:url value="resources/img/icons/projects/PNSD.png" />">
</a>
<div>
<h4><a href="visualizzaProspetto">${progetto.codPro}</a></h4>
<p>${progetto.twp1009Tipostaprogetto.desTipSta}</p>
</div>
</div>
</c:if>
</c:forEach>
因此,如您在前面的代碼片段中所看到的,我有一個progetto變量,它是一個名為Twp1007Progetto的模型類的實例。 該模型類包含一些我在先前的代碼片段中正確使用的字段(例如$ {progetto.codPro} )。
好的,直到現在我都沒問題,並且可以正確訪問progetto變量的先前屬性。
在前面的代碼片段中,我也有此鏈接:
<a href="visualizzaProspetto">
其中visualizzaProspetto是由定義在控制器類中的此方法處理的資源:
@RequestMapping(value = "/visualizzaProspetto", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
.....................................................
.....................................................
DO SOMETHING
.....................................................
.....................................................
return "prospettoRendicontazione";
}
好的,這是正確的名稱。
現在我的問題是,當 鏈接是由用戶單擊的,我不必處理簡單的visualizzaProspetto,但我還必須將一個表示prgPro字段值的參數傳遞到我的Twp1007Progetto模型對象實例( $ {progetto.prgPro}值)中,因為它是數據庫上單擊的對象的主鍵。
那么,做這件事的最好方法是什么? 我知道使用Spring可以傳遞參數或路徑變量,但我真的不知道如何正確處理這種情況。
特納克斯
帶有請求參數:
<a href="visualizzaProspetto?codPro=${progetto.codPro}">
@RequestMapping(value = "/visualizzaProspetto", method = RequestMethod.GET)
public String home(@RequestParam String codPro, Locale locale, Model model) {
...
}
或使用路徑變量:
<a href="visualizzaProspetto/${progetto.codPro}">
@RequestMapping(value = "/visualizzaProspetto/{codPro}", method = RequestMethod.GET)
public String home(@PathVariable String codPro, Locale locale, Model model) {
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.