我使用Struts2的rest插件实现restful风格的URL,现在遇到了问题,一个是我在request的对像中赋了一个List列表,跳到jsp页上的时候用<s:iterator>标记想把内容遍历出来,可是遍历不出任何内容,但是我确定List里已经查出了东西,加断点看过了,确实有数据。还有一点是使用restful风格的URL来访问资源,比如http://localhost:8080/StrutsWeb/userRest/1
我是想访问id为1的Get请求到userRest的Action中去,这样怎么配置呀,我查了很多,但按网上的大多数贴子没有配置成功?还请各位高手请教。谢谢先下面这是我配置的struts.xml
<struts> <constant name="struts.convention.action.suffix" value="Controller" />
<constant name="struts.convention.action.mapAllMatches"
value="true" />
<constant name="struts.convention.default.parent.package"
value="rest-default" />
<constant name="struts.convention.package.locators" value="example" />
<package name="restful" extends="rest-default">
<interceptors>
<interceptor-stack name="restDefaultStack">
<interceptor-ref name="exception" />
<interceptor-ref name="servletConfig" />
<interceptor-ref name="prepare" />
<interceptor-ref name="actionMappingParams" />
<interceptor-ref name="modelDriven">
<param name="refreshModelBeforeResult">true</param>
</interceptor-ref>
<interceptor-ref name="staticParams" />
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
</package> <package extends="struts-default" namespace="/" name="default"> <action name="userRest" class="com.yue.action.UserRestAction">

<result name="success" type="dispatcher">
/WEB-INF/content/UserDisplay.jsp
</result>
</action>
</package>
</struts>我按照上面的配置使用http://localhost:8080/StrutsWeb/userRest来访问是可以跳到UserDisplay.jsp上的,但是遍历不出数据,再有就是想加一个id参数来调用show()方法,但是目前还不行,请高手指教,不胜感激,谢谢这个是我的Action:
public class UserRestController extends ActionSupport {
/**
 * 
 */
private static final long serialVersionUID = 2433273226326284287L; private Integer id; // 接收id参数
private User user = new User(); // 实体
private List<User> list;
private UserBiz userBiz = new UserBiz(); // 业务逻辑类
public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
this.user = userBiz.get(id);
} /**
 * 处理不带参数的GET请求
 * 
 * @return
 */
public HttpHeaders index() {
this.list = userBiz.list();
 HttpServletRequest req = ServletActionContext.getRequest();
 req.setAttribute("list", list);
Iterator<User> iter = list.iterator();
while (iter.hasNext()) {
System.out.println(iter.next().getName());
}
return new DefaultHttpHeaders("success");
} /**
 * 处理带id参数的GET请求
 * 
 * @return
 */
public HttpHeaders show() {
user = userBiz.get(id);
return new DefaultHttpHeaders("success");
} /**
 * 管理不带id参数的POST请求(增加)
 * 
 * @return
 */
public HttpHeaders create() {
return new DefaultHttpHeaders("");
} /**
 * 处理带id参数的PUT请求(修改)
 * 
 * @return
 */
public String update() { return SUCCESS;
} /**
 * 处理带id参数的DELETE请求(删除)
 * 
 * @return
 */
public String destory() { return SUCCESS;
} /**
 * 处理带id参数,且指定edit资源的GET请求 进入编辑页面
 * 
 * @return
 */
public String edit() {
return "edit";
}
}