2014-01-17 37 views
2

我试图将查询字符串中的键值从一个页面传递到另一个项目中使用Struts 2框架。将查询字符串中的键值从一个页面传递到另一个项目中使用Struts 2

URL映射:

<struts>   
    <package name="default" namespace="/" extends="struts-default"> 

     <!-- Line --> 
     <action name="line" class="com.example.a.b.action.LineAction"> 
      <result name="success">/line.jsp</result> 
     </action> 

    </package> 

</struts> 

URL的HTML锚链接:

http://localhost/line?key=value 

当它关系到LineAction我想要得到的查询字符串键值的一部分,但能找到的任何东西在线为它。

回答

1

如果我理解正确。在你的行动课程中,创建GettersSetterskey。你会在你的行动课中获得价值。

可能是你尝试这种方式..

 try{ 
     URL url = new URL("http://www.google.com?gender=male&name=jagga"); 
     System.out.println(url.getQuery()); 

    }catch(MalformedURLException e) 
    { 
     e.printStackTrace(); 
    } 

你建立你的行动的URL

+0

这适用于POST,但不适用于GET – YTKColumba

+0

这应该是评论,而不是答案。 –

+0

这个对我来说工作得很好。 – Babel

1

你可以从行动方面的参数,如

Map<String, Object> parameters = ActionContext.getContext().getParameters(); 

但更好的方法要实施ParameterAware

private Map<String, String[]> parameters; 

public void setParameters(Map<String, String[]> parameters){ 
    this.parameters = parameters; 
} 
+0

这似乎没有工作,我试图得到的关键和价值,我得到的只是[Ljava.lang.String; @ 2edf7aa6​​ – YTKColumba

+0

你试过了什么?代码工作正常。例如,请参阅[this](http://stackoverflow.com/a/15836720/573032)。 –

相关问题