我是春天的新手,我现在正在努力解决在视图中显示错误的多部分表单提交/验证方案所需的许多部分.
这是我目前拥有的文件:
resourceupload.jsp:显示上载文件的表单的视图.
<form:form method="post" action="resource/upload" enctype="mutlipart/form-data">
<input name="name" type="text"/>
<input name="file" type="file" />
<input type="submit"/>
<form:errors path="file" cssClass="errors"/>
</form>
Run Code Online (Sandbox Code Playgroud)
resourceuploadcontroller.java:处理表单提交的控制器,并且(不成功)尝试将文件验证错误发送回视图:
@RequestMapping(method = RequestMethod.POST)
public String handleFormUpload( @RequestParam("file") MultipartFile file , @RequestParam("name") String name,Object command, Errors validationErrors){
..perform some stuff with the file content, checking things in the database, etc...
.. calling validationErrors.reject("file","the error") everytime something goes wrong...
return "redirect:upload"; // redirect to the form, that should display the error messages
Run Code Online (Sandbox Code Playgroud)
现在,这种方法显然有问题:
1 /我必须在validationErrors参数之前添加一个虚拟的"命令"对象,否则spring会给我一个错误.这似乎不对.
2 /我添加该参数后,重定向不会将错误传递给视图.我尝试在控制器的开头使用@SessionAttribute("file"),没有任何运气.
如果有人可以提供帮助...我已经看过@ResponseBody注释,但似乎没有用于视图..
我已经阅读了一些关于使用Java记录调试消息的各种方法,并且来自C背景我的关注点如下:
这些库声称在禁用日志记录(例如生产环境)的情况下开销最小,但由于log()仍在评估其功能的参数,我担心的是实际情况中的开销实际上根本不可忽略.
例如,log(myobject.toString(), "info message")仍然有一个评估的开销myobject.toString(),即使日志函数本身什么都不做也可能相当大.
有没有人有这个问题的解决方案?
PS:对于那些想知道为什么我提到C背景的人:C允许你使用预处理器宏和编译时指令,这些指令将在编译时完全删除与调试相关的所有代码,包括宏参数(根本不会出现).
编辑:在阅读了第一批答案之后,似乎java显然没有任何可以解决这个问题的东西(想想在每个CPU都很重要的移动环境中在一个大循环中记录数字的余弦).所以我要补充一点,我甚至会选择基于IDE的解决方案.我的最后一招是构建类似"查找所有/替换"宏的东西.我首先想到的是,从面向方面的框架中抓取的东西可能会有所帮助......任何人?
我目前正在使用python/flask构建一个Web服务,并希望在neo4j之上构建我的数据层,因为我的核心数据结构本质上是一个图形.我对neo4j为这种情况提供的不同技术感到有些困惑.特别是:
1/i最初计划使用REST Api到py2neo,但缺少事务是一个问题.
2 /"嵌入式数据库"neo4j似乎不太适合我的情况.我认为当您使用批量和一次性分析时,它非常有用,并且不需要将数据库存储在与Web服务器不同的服务器上.
3 /我偶然发现了neo4django项目,但我不确定这个项目是否提供事务支持(因为没有本地客户端可以使用neo4j for python),如果在django本身之外使用它会有问题.事实上,在查看了项目的文档之后,我觉得它有完全相同的限制,即没有事务(但是,当你在单个连接超时时可以破坏模型时,如何构建实际服务?) .我甚至不明白该项目的用途.
任何人都可以推荐一下吗?我觉得完全卡住了.
谢谢
flask ×1
java ×1
logging ×1
neo4j ×1
overhead ×1
py2neo ×1
python ×1
spring-mvc ×1
validation ×1