2012-06-27 75 views
-1

在我的Struts 1.1应用程序中,我有6个jsp表单映射到单个操作类。如何从动作类的请求中获取JSP的url?

我想从action类中的请求中获取jsp的url。

因为在我的Struts配置了这样映射

<action 

     path="/formaction" 

    </action> 

此外,当我在任何形式递交点击,我的URL看起来像这样

https://mywebsite/formaction.do 

所以,当我把请求。的getURL所有形式我得到相同的URL

https://mywebsite/formaction.do 

所以我的问题是,是他们的一种方式,我可以得到这样从请求中类似的方法

https://mywebsite/myform1.jsp 
+0

您是否试图让一个Action转发到6个不同的jsp文件(取决于url),还是将您的操作转发给一个jsp文件,然后将这6个文件中的一个包含在内? –

+1

会有什么意义?像Struts这样的MVC框架的重点是让所有的请求都通过控制器(动作),而不是直接调用视图(JSP)。 –

+0

@MartinWilson所有这六个jsps都有不同的前向/错误页面。那不是问题。我想要请求url。 – mjamal14

回答

0

您可以在您的表单超类中创建一个用于存储jsp url的成员。你将不得不设置成员虽然在每一个jsp的......像这样

<html:hidden name="thisForm" property="jspCaller" styleId="jspCaller"/> 

你不得不然后用JavaScript在窗口onload事件或在文档准备事件的jQuery填充它。

<script> 
var jspCaller = <%=request.getServletPath()%>; 
document.getElementByID("jspCaller").value = jspCaller; 
</script> 
0

使用ActionForward你可以得到jsp页面Name。 。

字符串jspName = mapping.findForward( “成功”)的getName();

-1

在struts操作类中使用request.getHeader(“Referer”)应该为您提供引用JSP的URL。