我试图尽可能完整地找到有关Grails项目结构的概述.我看,并非所有项目都使用"grails create-app"生成的默认结构
%PROJECT_HOME%
+ grails-app
+ conf ---> location of configuration artifacts
+ hibernate ---> optional hibernate config
+ spring ---> optional spring config
+ controllers ---> location of controller artifacts
+ domain ---> location of domain classes
+ i18n ---> location of message bundles for i18n
+ services ---> location of services
+ taglib ---> location of tag libraries
+ util ---> location of special utility classes
+ views ---> location of views
+ layouts ---> location of layouts …Run Code Online (Sandbox Code Playgroud) 我是春季新手.
我在我的域类中设置了验证,如下所示:
public class Worker {
@NotNull(message="Name must be input")
@Size(min=1,max=50, message="Name must not exceed 50 characters")
private String name;
...
}
Run Code Online (Sandbox Code Playgroud)
这是jsp文件:
<form:input path="code" readonly="false" />
<font color="red"><form:errors path="code" />
Run Code Online (Sandbox Code Playgroud)
和控制器代码:
@RequestMapping(value="/test",method=RequestMethod.POST)
public void form(@Valid Worker worker, BindingResult result) {
if (result.hasErrors()) {
return;
}
...
Run Code Online (Sandbox Code Playgroud)
它有效,但如何在我的messageSource中用一些文本(如worker.name.overflow)替换"名称不能超过50个字符"?我可以在BindingResult中添加一个messageResolver吗?
所有搜索结果似乎都是关于编写自定义Validator类的,但我现在想要使用注释.我很确定有办法,因为在这个问题上有人这样做了.
我正在使用Guidewire开发工作室(基于IntelliJ的IDE),处理大文本文件(大约1500行及以上)时速度非常慢.我尝试了一个开箱即用的社区IntelliJ,但遇到了同样的问题.
当我打开这些文件时,键入一个字符需要1秒,即使我清楚地看到使用的内存仍然很多(1441 MB/3959 MB).此外,如果我打开多个文件(我只为IntelliJ分配4GB),它会迅速吸收所有内存.Intellisense和其他自动化的东西也很痛苦.
我喜欢IntelliJ,但在这种情况下工作真是太难了.有没有办法解决这个问题?我想到了一些替代品,比如:
我确实关闭了所有不必要的插件,只留下了必要的插件,但没有任何改进.
我也想知道我是否可以在IntelliJ中"嵌入"一些外部编辑器?像Notepad ++,Notepad2例如?我完成了我的作业和谷歌,但没有找到允许这样做的插件/配置.
是否有经验丰富的人可以给我一些建议如何使用IntelliJ中的大文件(不要生气)?
更新:通过我的研究,我了解到IntelliJ可以打破非常大的文件(如20mb)等等.但我的文件并不大.它只有大约100KB - 1MB,但它是非常长的文本.
更新2设法增加堆内存Sajidkhan提醒后(我改变了这两个idea64.vmoptions和idea.vmoptions),我认识到,不知何故的IntelliJ并不需要改变.内存堆最大停留在3GB.
另一方面,当系统仅使用约1GB的堆内存时,可以感知到性能缓慢,因此我认为该问题与内存问题无关.
我正在申请UnitTest一段时间,今天我遇到了一些非常奇怪的事情.考虑以下代码:
TestObject alo = null;
assert alo != null; // Pass!!!
Assert.assertNotNull(alo); // Fail, as expected.
Run Code Online (Sandbox Code Playgroud)
我google了一下,发现assert是java内置的,而assertNotNull是JUnit支持的.但我无法理解为什么断言不抱怨null对象?
SpringSecurity是否有一些内置的能力来忽略用户名的字母大小写?例如,如果用户名是"student001",那么它将接受"Student001"以及"stUdent001".
我需要这个的原因是我们的系统使用电子邮件作为用户名.当然我可以通过扩展DAOAuthenticationProvider类来做到这一点,但我只是想知道这个问题是否存在任何内置选项?
我有一个带有一些链接的网页,我需要通过jQuery拦截链接点击事件.任务完成得很好,但随后出现问题:如果用户在javascript未完成加载时单击链接,则链接到另一个页面(这是一个错误).
我试图找到一种方法来在页面加载完成之前禁用链接点击,但现在最好的解决方案是我必须添加onclick="return false;"到我的链接中,这不是很优雅.有没有更好的解决方案?
谢谢你的帮助,
我有一个域对象.
class Post {
User user
String subject
String body
Date dateCreated
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?直接GORM,HQL或标准是更好的方法吗?我不知道什么样的日期操作("今天eq")将在标准中起作用.
我的情况是这样的:
每次在将war文件上传到web-app文件夹之前,我都会通过调用来停止Tomcat sh shutdown.sh.过去大约需要30秒才能完全停机.但现在它不再适用了.
实际上,它做了一些工作,因为当我从网页访问应用程序时,它会抛出503错误(在维护下).但是当我ps aux | grep tomcat用来检查时,tomcat进程仍然存在.它将在那里大约5-10分钟.
我知道可能需要花费额外的时间才能完成所有任务,但是在它完全停止之前它太慢了(5-10分钟).我不明白为什么会这样,但必须有一些原因.也许这与代码或我们最近使用的新部署脚本有关.我几乎不知道在哪里检查.
这对我们的团队很重要,因为我们正在使用"自动部署",我们使用脚本自动打包war文件,在特定时间上传和部署.如果我们在旧的tomcat实例成功关闭之前启动了一个新的tomcat实例,它会挂在那里永恒,并且通过"kill -9"清理任务是令人生畏的.
有没有人尝试过这个问题?任何线索将不胜感激.
昨天当我尝试构建一个公共服务时,它产生了一个错误
253 引起:org.eclipse.aether.resolution.ArtifactResolutionException:无法解析以下工件:org.geotools:gt-main:jar:21.2, org.geotools:gt-epsg-wkt:jar:21.2, org. geotools:gt-epsg-hsql:jar:21.2: 在 spring-milestones ( https://repo.spring.io/milestone ) 中找不到工件 org.geotools:gt-main:jar:21.2
几个小时前,在问题发生之前,它是成功的。很长一段时间没有做出任何改变。
我们使用多个存储库,其中之一是http://download.osgeo.org/webdav/geotools。但现在似乎 URL 已关闭。不知道它何时以及为什么关闭 - 我在 osgeo.org 主页上找不到任何内容。
无论如何要收到有关此类问题的警告?我应该怎么做才能防止问题再次发生?
java ×6
grails ×3
spring ×2
spring-mvc ×2
apache ×1
date ×1
geotools ×1
grails-orm ×1
guidewire ×1
hibernate ×1
html ×1
javascript ×1
junit ×1
linux ×1
maven ×1
tomcat ×1
tomcat6 ×1
unit-testing ×1
validation ×1