Java Struts 2:操作结果。如何在jsp上显示浏览器地址行链接?

Java Struts 2:操作结果。如何在jsp上显示浏览器地址行链接?,java,model-view-controller,struts2,action,Java,Model View Controller,Struts2,Action,例如,在我们的index.jsp上,只包含一个链接: <a href="<s:url action='viewBook'/>">Your Book</a> 当我单击打开的页面上的此链接并在浏览器地址行中看到下一个地址: http://localhost:8080/project/viewBook.action struts.xml包含操作列表票证的下一行: <action name="viewBook" class="BookAction"

例如,在我们的
index.jsp
上,只包含一个链接:

<a href="<s:url action='viewBook'/>">Your Book</a>
当我单击打开的页面上的此链接并在浏览器地址行中看到下一个地址:

http://localhost:8080/project/viewBook.action
struts.xml
包含操作列表票证的下一行:

    <action name="viewBook" class="BookAction" method="view">
        <result>pages/book.jsp</result>
    </action>

我尝试设置结果标记type=“redirect”。但是在这种情况下-页面为空。

您不应该这样做。
您希望url链接到您的控制器,而不是jsp。

您不应该这样做。
您希望url链接到您的控制器,而不是您的jsp。

您不会看到url中显示的备份视图文件,也不应该这样做。视图机制是一种抽象,基本上并没有在所有MVC框架中显示


如果使用命令重定向到操作,您将看到
viewBook.action
(假设默认操作扩展名)。这是所需的URL。

您将不会看到URL中显示的备份视图文件,您也不应该看到。视图机制是一种抽象,基本上并没有在所有MVC框架中显示


如果使用命令重定向到操作,您将看到
viewBook.action
(假设默认操作扩展名)。这是所需的URL。

我猜你不能这么做。Struts是一个面向控制器的框架,而不是像JSF那样面向视图的框架。一个操作(控制器)可以在几个视图中选择一个来显示,因此在一般情况下,您无法判断将显示哪个JSP。我猜您不能这样做。Struts是一个面向控制器的框架,而不是像JSF那样面向视图的框架。一个操作(控制器)可以在几个视图中选择一个来显示,因此在一般情况下,您无法判断将显示哪个JSP。
    <action name="viewBook" class="BookAction" method="view">
        <result>pages/book.jsp</result>
    </action>
http://localhost:8080/project/book.jsp