gpt4 book ai didi

java - Spring MVC中如何共享表单成员?

转载 作者:行者123 更新时间:2023-12-01 05:40:46 27 4
gpt4 key购买 nike

如何将从表单对象检索到的值可供另一个类使用。我们将此类命名为 Sample.java。我如何使从提交的值JSP form 可用于类 Sample.java 并保留它以供使用,直到用户注销为止。

我尝试在如下所示的 Controller 方法中添加一个公共(public)字符串变量,然后在 Sample.java 中创建一个 Controller 实例来获取该值,但它始终返回 null

 @RequestMapping( value = "abc/xyz/dummyPath.html", method = RequestMethod.POST )
public String processThisValue( @ModelAttribute( "myValues" ) MyBean myBean,
ModelMap model)
{

log.info("I am in my controller.........");

String valuePassed = myBean.getValuePassed();

log.info("Prints fine here: " + valuePassed);

return "";
}

最佳答案

解决方案分为两部分:

1)

and keep it there for use until the user logs out.

您可以使用 session 作用域 bean 来保存该值。

2)

how do I make the values submitted from the JSP form available to class Sample.java

Controller 将提交的值存储在该 session bean 中。 Simple.java 类(希望)也是一个 bean,访问该 bean 来获取值。

(我暂时没有IDE,所以需要乱写一下)

@Component
@Scope(BeanDefinition.SCOPE_SESSION)
public class MySessionBean()

private String content;

Getter/setter
}

@Controller
...

@Autowire
private MySessionBean mySessionBean;

...
public String processThisValue( @ModelAttribute( "myValues" ) MyBean myBean,
ModelMap model) {
//myBean is only a simple class!!!!!
...
this.mySessioBean.setContent(valuePassed);
...
}


@Service
public class Sample() {

@Autowire
private MySessionBean mySessionBean;

public void doSomething() {
System.out.println("the current users value:" + mySessionBean.getValue());
}
}

关于java - Spring MVC中如何共享表单成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7232548/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com