Struts2REST插件客户端程序
我编写客户端web jsp页面就像有一个带有用户名搜索文本框和提交按钮的表单(get) 当用户提交时,它返回用户的json格式 但是当我提交它时,url看起来像 如何将此url转换为struts2中的以下url struts2中是否有.htaccess文件Struts2REST插件客户端程序,struts2,struts-config,Struts2,Struts Config,我编写客户端web jsp页面就像有一个带有用户名搜索文本框和提交按钮的表单(get) 当用户提交时,它返回用户的json格式 但是当我提交它时,url看起来像 如何将此url转换为struts2中的以下url struts2中是否有.htaccess文件 @Results( { @Result(name = "success", type = "redirectAction") }) public class UsersController implements ModelDriven&l
@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();
}
@Results({@Result(name=“success”,type=“redirectAction”)})
公共类UsersController实现模型驱动,
ServletRequestAware{
私有字符串用户名;
私有HttpServletRequest;
私有字符串表示;
//获取/users/{username}
公共HttpHeaders show(){
字符串acceptHeader=request.getHeader(“接受”);
String type=“xml”;
if(acceptHeader==null | | acceptHeader.isEmpty()||
acceptHeader.equals(“应用程序/xml”)){
表示法=UserBO.getXML(用户名);
}else if(acceptHeader.equals(“application/json”)){
representation=UserBO.getJSON(用户名);
type=“json”;
}
返回新的DefaultHttpHeaders(类型).disableCaching();
}
您可以使用
要在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>
{1}
/mainMenu.jsp
当请求类似于/edit/person/123的URL时,将调用EditAction,其“id”字段将设置为123