我正在尝试翻译C#应用程序接口的功能,我已经找到了一些代码,我无法找到一个有信心的解决方案。
它涉及到在正确的web上下文范围内存储数据。现在,我可以简单地通过创建一个HashMap来解决这个问题,但由于我不知道在这一点上对存储数据的扩展需求,我想尽最大努力做到这一点。在我试图找到一个做同样事情的java解决方案时,我遇到了一个我以前不知道的作用域,那就是Flash-scope。它看起来和HttpContext.Current.Items是一样的,但我非常感谢大家对此有不同的看法。flashScope是我在playframework中发现的东西。
此外,HttpContext.Current.Items似乎是以静态方式访问的,而java通常生成scope类的对象实例,如HttpSession。
我可以像下面的C#代码那样静态地将对象存储在作用域字典中吗?闪存作用域是否等同于HttpContext.Current.Items?我可以在没有Play Framework的情况下访问Flash范围吗?
一如既往,我也非常希望知道我是否做了任何错误的假设或其他误解。
谢谢您:)
C#方法
public void setItem(String itemName, Object item) {
HttpContext.Current.Items.set(itemName, item);
}发布于 2016-12-23 04:37:54
HttpServletRequest具有setattribute()方法。
发布于 2016-12-27 18:39:10
这个页面提供了很多关于这个主题的有用信息:http://odetocode.com/articles/111.aspx
其中最重要的几行是:
对象将封装单个HttpContext请求的特定细节。此类的属性包括request对象、Response对象、Session对象和一个AllErrors属性,该属性保留在当前请求期间累积的异常对象数组。
..。
Current是一个静态属性,它将返回当前HTTP请求的HttpContext对象。您可以在请求的逻辑执行线程中使用来自任何对象的Current
虽然Items中的数据是以静态方式访问的,但它们的作用域是单个请求。换句话说,假设使用javas HttpServletRequest及其方法getAttribute()和setAttribute()就足够了,无论翻译后的框架打算在应用程序中如何使用,这都是合乎逻辑的。
https://stackoverflow.com/questions/23389207
复制相似问题