Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在控制器中调用特定操作_Java_Spring Mvc - Fatal编程技术网

Java 在控制器中调用特定操作

Java 在控制器中调用特定操作,java,spring-mvc,Java,Spring Mvc,我有一个控制器,具有以下两个动作: @Controller @RequestMapping("xyzlogin") public class XyzloginController { @RequestMapping(method = RequestMethod.GET) public ModelAndView showForm(HttpServletRequest request, ModelMap model) { //.... do somethin

我有一个控制器,具有以下两个动作:

@Controller
@RequestMapping("xyzlogin")
public class XyzloginController 
{
  @RequestMapping(method = RequestMethod.GET)
    public ModelAndView showForm(HttpServletRequest request, ModelMap model) 
    {
         //.... do something....
    }

  @RequestMapping(value = "/requestXYZ", method = RequestMethod.GET)
    public ModelAndView requestXYZ(HttpServletRequest request, ModelMap model) 
    {
         //.... do something with parameter param1.
    }    
}
在视图文件中,我可以通过以下方式请求此控制器中的操作:

<a href="requestXYZ?param1=abc">Click me to call requestXYZ action</a>

如上例所述,单击超链接后,我想调用requestXYZ操作,但我得到了404错误,表示它找不到映射

我是否定义了映射错误?正确的映射是什么


谢谢,

当您的
href
属性中有一个非绝对路径(即不是以
/
开头)时,浏览器会将其附加到当前上下文中。例如,如果您当前在
localhost:8080/yourapp
,请单击

<a href="requestXYZ?param1=abc">Click me to call requestXYZ action</a>
就你而言,你是对的

localhost:8080/authenticate/authorize/login?param1=abc
因此,单击链接会将您发送到

localhost:8080/authenticate/authorize/requestXYZ?param1=abc
这显然(几乎)不存在

您可以向
href
字符串提供一个前导
/
,使浏览器根据您的主机地址构建URL

您应该从应用程序上下文根目录构建路径

<a href='<c:url value="/xyzlogin/requestXYZ?param1=abc" />'>Click me to call requestXYZ action</a>

Spring对此也有自己的标记。

当您的
href
属性中有一个非绝对路径(即不是以
/
开头)时,浏览器会将其附加到当前上下文中。例如,如果您当前在
localhost:8080/yourapp
,请单击

<a href="requestXYZ?param1=abc">Click me to call requestXYZ action</a>
就你而言,你是对的

localhost:8080/authenticate/authorize/login?param1=abc
因此,单击链接会将您发送到

localhost:8080/authenticate/authorize/requestXYZ?param1=abc
这显然(几乎)不存在

您可以向
href
字符串提供一个前导
/
,使浏览器根据您的主机地址构建URL

您应该从应用程序上下文根目录构建路径

<a href='<c:url value="/xyzlogin/requestXYZ?param1=abc" />'>Click me to call requestXYZ action</a>
Spring对此也有自己的标记。

当(在)单击链接时,您位于哪个URL?我位于此URL:where“login”映射到“LoginController.java”当(在)单击链接时,您位于哪个URL?我位于此URL:where“login”映射到“LoginController.java”