java - Stripes UrlBinding - 参数在提交时消失

标签 java stripes

我在我所有的 actionbeans 上使用 URL 绑定(bind),其中一些需要一个参数,例如/admin/users/123.

以这个 URL 为例,在我的 actionbean 中,我能够获取参数 123 并正常显示用户信息。同一页面允许更改用户信息,这就是问题所在。

提交更新后的用户信息时,URL 变为/admin/users。

这是个问题,因为调用 context.getRequest().getRequestURL() 返回的是/admin/users 而不是/admin/users/123。

我认为这是由于标签在 jsp 中的编写方式所致:

<stripes:form beanclass="com.name.ui.web.stripes.action.admin.UserActionBean">...</stripes:form>

解析为

<form action="/admin/users" method="post">...</form>

对应的actionbean是这样编码和注释的:

@UrlBinding("/admin/users/{userId}")
public class UserActionBean{ 
  private long userId;
  public long getUserId(){return userId;}
  public void setUserId(long userId){this.userId=userId;}
}

有没有人遇到同样的问题并设法解决了?

最佳答案

作为answered在 Martin Walsh 的 Stripes 邮件列表上,您可以使用 <stripes:param>标签内 <stripes:form> .我要补充一点,执行发帖后重定向(或 Post/Redirect/Get )还可以让您返回到您的/admin/users/123 URL。

关于java - Stripes UrlBinding - 参数在提交时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12173702/

相关文章:

Java JTextPane 改变选中文本的字体

java - 使用 JSON-B 反序列化 JSON 数组

java - Stripes 框架 - 上下文返回 null

java - Stripes ActionBean 事件总是解析为默认事件

java - 如何在 eclipse、tomcat 和 stripes 下将 .java 文件更改传播为 .class

java - 如何从 <stripes :messages> of Stripes Framework 检索带有特定键的消息

javascript - Stripes:无法添加到通过 javascript 动态创建的表格中

java - 将 Eclipse 项目导入 Studio 时映射问题

java - 自动出现 JTextField

java - 使用Java发送POST数据