2013-03-05 60 views
0

我已經通過MVC模板創建Spring MVC的項目的價值,但我不能得到了TextInput值。任何人都可以告訴我該怎麼做?具有該項目結構的home.jsp源代碼可以在截圖中看到。在AdminController類的代碼是:充分利用簡單的JSP的Spring MVC

@Controller 
@RequestMapping(value = "/foo") 
public class AdminController { 

@RequestMapping(value = "/bar") 
public String testAction(@RequestParam String fieldName) { 
    // yourValue contain the value post from the html form 
    return "yourview"; 
    } 
} 

Here is the screenshot from the package explorer and source of home.jsp

當我部署的項目,它開始在地址http://localhost:8080/test/。凡改變/test/別的東西?擊中提交按鈕後,瀏覽器轉發到http://localhost:8080/foo/bar並顯示HTTP status 404

回答

1

404:

您的形式映射是絕對

<form ... action="/foo/bar"> 

這就是爲什麼它被擊中http://localhost:8080/foo/bar和你沒有一個應用程序部署其上下文路徑是/foo因此404

若要更正此使用彈簧爲您添加上下文路徑:

<spring:url value="/foo/bar" var="form_url" /> 
<form ... action="${form_url}" method="POST"> 

字段名:

您需要確定哪個請求參數去映射到testAction說法。

@RequestMapping(value = "/bar", method=RequestMethod.POST) 
public String testAction(@RequestParam(value="fieldName") String fieldName) { 
    // yourValue contain the value post from the html form 
    return "yourview"; 
} 

/測試:

看起來你正在使用的Tomcat服務器運行應用程序。這可能在pom.xml中配置爲使用/${project.artifactId}(默認)啓動應用程序,其中您的工件ID是「test」。 (http://mojo.codehaus.org/tomcat-maven-plugin/run-mojo.html#path)。您可以通過配置Maven插件提供了不同的值:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>tomcat-maven-plugin</artifactId> 
    <configuration> 
     <path>WHATEVER</path> 
    </configuration> 
    </plugin> 
1

看着你在這裏張貼的圖片。控制器的您的請求映射/酒吧和你形成動作被提及/富/酒吧。看看這是否是錯誤的。也爲彈簧操作方法提供請求方法。

由於您使用URL localhost:8080/foo/bar訪問應用程序,因此我建議對其進行一些更改。

卸下控制器RequestMapping標籤。它應該是:

@Controller  
public class AdminController { 

    @RequestMapping(value = "bar", method=RequestMethod.POST) 
    public String testAction(@RequestParam String fieldName) { 
     // yourValue contain the value post from the html form 
     return "yourview"; 
    } 
} 

並給出表單動作名稱,如action =「bar」。

+0

感謝...重定向到其他頁面現在工作得很好:)但是如何打印從<輸入名稱=「字段名」類型的文本=「文本」 />在重定向到其他頁面後感謝提交按鈕? – Dworza 2013-03-05 13:06:22

+0

你得到testAction方法的價值?我猜如果你發佈表單,你需要在POJO中有這些字段。 – 2013-03-05 13:08:44

+0

是的,我明白了,但我希望能有一些更好的解決方案,比如ManagedBeans的用法,我從JSF那裏知道......無論如何:)非常感謝:) – Dworza 2013-03-05 13:12:26