struts 2休息插件客户端程序

时间:2013-04-24 10:42:11

标签: struts2 struts-config

我正在编写客户端web jsp页面,就像有一个表单(get)带有用户名搜索文本框和提交按钮

当用户提交它时,返回用户的json格式

但是当我提交时,网址看起来像

http://myhost.net:8080?user=pavan&method.execute=submit 如何在struts2中将此URL转换为低于1。

http://myhost.net:8080/user/pavan

struts2中是否有任何.htaccess文件

@Results( { @Result(name = "success", type = "redirectAction") })
public class UsersController implements ModelDriven<Object>,
ServletRequestAware {
private String username;
private HttpServletRequest request;
private String representation;

// GET /users/{username}
public HttpHeaders show() {
String acceptHeader = request.getHeader("Accept");
String type = "xml";
if (acceptHeader == null || acceptHeader.isEmpty() ||
acceptHeader.equals("application/xml")) {
representation = UserBO.getXML(username);
} else if (acceptHeader.equals("application/json")) {
representation = UserBO.getJSON(username);
type = "json";
}
return new DefaultHttpHeaders(type).disableCaching();
}

1 个答案:

答案 0 :(得分:0)

您可以使用Parameters after the Action name

  

要在URL中使用参数,请在操作名称后确保已设置:

<constant name="struts.enable.SlashesInActionNames" value="true"/>
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
     

然后动作映射将如下所示:

<package name="edit" extends="struts-default" namespace="/edit">
  <action name="/person/*" class="org.apache.struts.webapp.example.EditAction">
      <param name="id">{1}</param>
      <result>/mainMenu.jsp</result>
  </action>   
</package>
     

当请求 / edit / person / 123 这样的网址时,系统会调用 EditAction ,其“ id ”字段将为设为 123