小编Dav*_*vid的帖子

Spring @ContextConfiguration如何为xml放置正确的位置

在我们的项目中,我们正在编写测试以检查控制器是否返回正确的模型视图

@Test
    public void controllerReturnsModelToOverzichtpage()
    {
        ModelAndView modelView = new ModelAndView();
        KlasoverzichtController controller = new KlasoverzichtController();
        modelView = controller.showOverzicht();

        assertEquals("Klasoverzichtcontroller returns the wrong view ", modelView.getViewName(), "overzicht");
    }
Run Code Online (Sandbox Code Playgroud)

这将返回异常null.

我们现在正在配置@contextconfiguration但是我们不知道如何加载位于src\main\webapp\root\WEB-INF\root-context.xml的正确的xml

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class TestOverzichtSenario{
....
Run Code Online (Sandbox Code Playgroud)

此文档不够清晰,无法理解

关于如何确保contextannotation加载正确的xml的任何建议?

编辑v2

我将配置.xml文件从webINF文件夹复制到

src\main\resources\be\..a bunch of folders..\configuration\*.xml 
Run Code Online (Sandbox Code Playgroud)

并将webinf中的web.xml更改为

<param-name>contextConfigLocation</param-name>
<param-value>
            classpath*:configuration/root-context.xml
            classpath*:configuration/applicationContext-security.xml
        </param-value>
Run Code Online (Sandbox Code Playgroud)

现在得到错误

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]
    org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
    org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
    org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
    org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
    org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
    org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
    org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
    org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
    org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397) …
Run Code Online (Sandbox Code Playgroud)

java spring unit-testing annotations maven

50
推荐指数
5
解决办法
18万
查看次数

如何设置授权Hudson/Jenkins来克隆你的mercurial存储库

安装和玩mercurial后,我试图让Hudson克隆存储库,以便它可以构建我的项目.

目前,以下任务有效.

  • 我可以同步到我的外部主机,代码显示在该主机上.

现在我正在尝试配置hudson/jenkins以访问我的主机上的代码.

但不幸的是我正在犯一个错误:

Started by user anonymous
$ hg clone --rev default https://bitbucket.org/*/testproject "F:\Hudson\jobs\testproject\workspace"
abort: http authorization required
ERROR: Failed to clone https://bitbucket.org/*/testproject
[workspace] $ hg log --rev . --template {node}
java.io.IOException: Cannot run program "hg" (in directory "F:\Hudson\jobs\testproject\workspace"): CreateProcess error=267, The directory name is invalid
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at hudson.Proc$LocalProc.<init>(Proc.java:244)
    at hudson.Proc$LocalProc.<init>(Proc.java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:698)
    at hudson.Launcher$ProcStarter.start(Launcher.java:329)
    at hudson.Launcher$ProcStarter.join(Launcher.java:336)
    at hudson.plugins.mercurial.MercurialSCM.joinWithPossibleTimeout(MercurialSCM.java:298)
    at hudson.plugins.mercurial.HgExe.popen(HgExe.java:191)
    at hudson.plugins.mercurial.HgExe.tip(HgExe.java:171)
    at hudson.plugins.mercurial.MercurialSCM.calcRevisionsFromBuild(MercurialSCM.java:254)
    at hudson.scm.SCM._calcRevisionsFromBuild(SCM.java:304)
    at hudson.model.AbstractProject.calcPollingBaseline(AbstractProject.java:1186)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1175)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:523)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:418)
    at hudson.model.Run.run(Run.java:1362) …
Run Code Online (Sandbox Code Playgroud)

configuration mercurial hudson jenkins

21
推荐指数
2
解决办法
2万
查看次数

asp.net mvc模型与实体框架模型

在asp.net mvc - model文件夹中创建模型是最佳做法.将这些模型与您的视图一起使用,并使用服务层将我的模型"调整"到EF模型.

或者你使用了另一种方法.这种方法的问题在于,我的(自制)模型大多数时候都是EF模型的副本(不干)

那么有人可以解释一下你的视图使用什么模型,因为它很令人困惑.model/viewmodel/Entityframeworkmodel ....

方案:

感谢您的回答所有猜测我现在正在重构一些事情!

asp.net-mvc datamodel viewmodel entity-framework-4

13
推荐指数
1
解决办法
4849
查看次数

如何将名称用作vb.net已用作关键字的枚举

我正在实施此博客上的show-message扩展:http://blogs.taiga.nl/martijn/2011/05/03/keep-your-users-informed-with-asp-net-mvc/

程序员巧妙地重用他的枚举来构建css属性,但在vb.net中,我运行的是奇怪的东西.

我需要这门课

Enum Messagetype
    Succes = 1
    Error = 2
    Notification = 3
End Enum
Run Code Online (Sandbox Code Playgroud)

但是visual studio不断给出错误枚举错误.是否有一个前缀我可以用来告诉visual studio它可以使用错误作为枚举?

.net vb.net enums keyword

8
推荐指数
1
解决办法
3968
查看次数

如何显示更好的错误:"从客户端检测到一个潜在危险的Request.Form值"

在我自己的网站上做一些黑客攻击时,我遇到(在谷歌搜索后)一个常见的问题.

"从客户端检测到一个潜在危险的Request.Form值,可能是XSS尝试或恶意角色

情况1 : A potentially dangerous Request.Form value was detected from the client (Firstname ="<script> alert("x");...").

案例2:A potentially dangerous Request.Form value was detected from the client (*)."

asp mvc团队为我捕获错误做得很好但是如何向用户显示更好的错误.例如"发生了一些事情,请重复您的步骤,如果再次出现此消息,请联系x ...".

asp MVC开发人员的解决方案.

  1. 创建一个带索引的ErrorController
  2. 将以下行添加到web.config:

<customErrors mode="On" defaultRedirect="~/Error/Index"/>

  1. 编写测试以检查控制器操作.
  2. 不要忘记创建实际视图.

可选你可能想把mode ="RemoteOnly"

有关CustomErrors属性的更多信息,请注意:customErrors元素

asp.net security error-handling asp.net-mvc

4
推荐指数
1
解决办法
4003
查看次数

如何以速度获得Liferay主题中的languageid

对于当前创建的主题,有多个图像需要根据当前语言进行更改.

例如,如果用户使用英语访问该页面,我们将加载image_ languageid .jpg

如何用velocity&liferay中的语言的实际id 替换languageid

这是一个很好的技术还是有更好的技术?

velocity internationalization liferay

3
推荐指数
1
解决办法
4381
查看次数

你如何使用subversion以最好的方式共享lib?

我的目标是使用以下布局创建一个subversion存储库

  • 项目模板(docs,mail,... source等)

  • 常见(可以在其他项目上共享的东西).

  • 项目A.

  • 项目B.

  • 等......

该想法基于http://www.autumnofagile.net/ part 0-B

但是他们使用Vault控件.

所以主要的问题是:是否可以共享一个文件夹(在subversion上),以便其他人得到它.和Subversion不会成为复制粘贴区域.

原因是项目是C#/ vb.net(所以Maven不在游戏中).

或者还有另一种解决这个问题的策略吗?

c# vb.net svn frameworks

2
推荐指数
1
解决办法
181
查看次数