在什么情况下@SessionAttributes被清除?当我尝试在页面中使用两个模型时,我发现了一些令人困惑的行为.
当我使用此控制器执行GET后跟POST时...
@Controller
@RequestMapping("/myPage*")
@SessionAttributes(value = {"object1", "object2"})
public class MyController {
@RequestMapping(method = RequestMethod.GET)
public String get(Model model) {
model.addAttribute("object1", new Object1());
model.addAttribute("object2", new Object2());
return "myPage";
}
@RequestMapping(method = RequestMethod.POST)
public String post(@ModelAttribute(value = "object1") Object1 object1) {
//do something with object1
return "myPage";
}
}
Run Code Online (Sandbox Code Playgroud)
... object2从模型中清除.它不再作为@SessionAttribute存在,无法在我的视图页面上访问.
但是,如果第二种方法的签名被修改为......
public String post(@ModelAttribute(value = "object1") Object1 object1,
@ModelAttribute(value = "object2") Object2 object2) {
Run Code Online (Sandbox Code Playgroud)
...然后object2不会从模型中清除,并且在我的视图页面上可用.
@SessionAttributes的javadoc说:
...一旦处理程序指示其会话会话完成,将删除...属性.
但我没有看到我在第一个例子中表示完成了会话会话,但在第二个例子中没有表明.
任何人都可以解释这种行为或是一个错误吗?
看起来有一些在iPhone上使用自定义真实字体(ttf)的工作解决方案,最值得注意的是我可以在iPhone应用程序中嵌入自定义字体吗? 但是,此方法不支持开放式字体(otf).
有没有人遇到过使用otf字体的方法?
我正在.NET中开发一个应用程序,用户可以在其中提供正则表达式,然后用于验证输入数据.
我需要一种方法来了解正则表达式是否真的对.net正则表达式引擎有效.
谢谢你的帮助
我试图快速反转现有UIView的颜色(变成负面,如在摄影底片中).或者采取颜色并调低饱和度.我认为比操作位图更容易采取另一个全白(或阴影)的UIView,并使用blendmodes来实现我的目标.
我没有看到如何指导UIView如何在另一个之上绘制的方法.即使我是UIView的子类,我也没有看到使用混合更简单的方法.看起来我必须子类化具有drawrect的UIImageView:withBlendMode.
有没有人以更简单的方式做到这一点?我希望我可以在UIView或UIImageView上设置一个blendmode属性而不必子类...
基本上,你如何快速反转视图,使黑色为白色,白色为黑色?
我一直在强迫自己使用gvim for Windows来满足我的大部分文本编辑需求.我逐渐变得越来越舒服,但是一个问题让我很烦.
我使用项目插件在我的gVim屏幕的左侧保持一个窗口,列出我的项目.它很方便,让我不能进入IDE退出.以下是它的外观:
然后我用<Leader>]调用右侧的NERDTree [:
然后我浏览NERDTree以找到我要找的任何东西,并用<Leader>]解散NERDTree [.这使得NERDTree窗口消失,但不是将主窗口恢复到原来的大小,而是增加项目窗口:
现在我手动调整项目窗口的大小,但这确实打断了我试图用vim实现的流程.
我正在使用gvim 7.2,NERDTree 3.1.1和项目1.4.1.任何人有任何想法如何解决这个问题?
更新:基于Steve K的回答,我找到了解决方案.运行该:Project
命令并创建项目窗口时,项目窗口是活动窗口.所以我只是添加set winfixwidth
到我的.vimrc
后面:Project
,这解决了问题.现在我可以显示和隐藏NERDtree到我心中的内容,没有烦人的窗口调整大小.
我检查了两个SVN分支,"b1"和"b2".我想将所有提交从"b1"分支合并到"b2"分支.我尝试过类似的东西
svn merge -r HEAD:HEAD b1 b2
Run Code Online (Sandbox Code Playgroud)
但它什么都没做.我确信我的命令错了,但我找不到好的文档.我想在客户端这样做,而不是创建第三个分支.
我使用的SVN 1.4.4不支持reintegrate选项.
我该怎么做?
如何在TabBarApplication中的UiView中添加UIImagePickerController
我正在尝试使用Java,但到目前为止还没能在我的机器上正确使用它.我真的希望能够从命令行编译.按照这里的说明没有错误我无法编译javac
.这是我到目前为止所拥有的:
当我进入:
$ java -version
Run Code Online (Sandbox Code Playgroud)
我明白了:
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Server VM (build 14.2-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
当我跑:
$ sudo apt-get install sun-java6-jdk
Run Code Online (Sandbox Code Playgroud)
我明白了:
~$ sudo apt-get install sun-java6-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
sun-java6-demo sun-java6-doc sun-java6-source
The following NEW packages will be installed:
sun-java6-jdk
0 upgraded, 1 newly installed, 0 to remove and 9 not upgraded.
Need to get 17.4MB of …
Run Code Online (Sandbox Code Playgroud) 下面的代码采用一个数组值,如果它的键存在它应该回显它的值,三元if/else部分工作,但值没有显示,任何人都可以找出它为什么不会?
$signup_errors['captcha'] = 'error-class';
echo(array_key_exists('captcha', $signup_errors)) ? $signup_errors['catcha'] : 'false';
Run Code Online (Sandbox Code Playgroud)
另外,我有它回显假,我不需要输出如果一个键不存在,我应该删除单词假或是否有其他东西使代码只显示1值?