我是grails的新手.我遇到了一个set标签,我们可以在gsp页面中使用它来设置与控制器设置模型类似的值.
<g:set var="home" value="something" />
Run Code Online (Sandbox Code Playgroud)
因此,当我们写$ {home}时,它输出"something".
有没有办法在gsp页面本身的会话中设置值,而不是使用set tag 在控制器中设置值?
我正在尝试为我的 Spring Boot 应用程序编写测试。对于独立控制器测试,我使用了 @WebMvcTest 但遇到了一些问题。这是代码的基本结构。
UserController 具有自动装配的 UserService 类。
LibraryController 具有自动装配的 LibraryService 类。
这是 UserControllerTest 的代码 ::
@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class)
public class UserControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private UserService userServiceMock;
@Test
public void someTest(){}
}
Run Code Online (Sandbox Code Playgroud)
在 UserControllerTest 中运行代码时出现错误:
引起:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“libraryController”的bean时出错:通过字段“libraryService”表达的不满意依赖;嵌套异常是 org.springframework.beans.factory
根据我的理解,由于我们在 @WebMvcTest 注释中指定了 UserController,我们只需要模拟该控制器所需的依赖项。但它要求与用户控制器没有链接的 libraryService。
是的,如果我们将库服务作为 MockBean 包含在测试中,那么它就可以正常工作。但如果是这种情况,我们必须在程序扩展时模拟每个自动装配的 bean。
任何解释表示赞赏。提前致谢。
我有一个jsp文件,需要从多个language.properties文件中读取,即使用locales fr_CAN和其他文件.可以在同一个jsp文件中读取和显示(例如,基于liferay-ui-message中的键)从这些文件中获取值而不更改会话中的区域设置,而不使用资源束.
例如.在Language.fr_CAN.properties中
hello=Hello in canada french
Run Code Online (Sandbox Code Playgroud)
在In Language.en_CAN.properties中
hello=Hello in canada english
Run Code Online (Sandbox Code Playgroud)
现在在Jsp文件中我们必须显示:
说你好...加拿大法语:你好加拿大法语
加拿大英语:你好加拿大英语
任何帮助将不胜感激.谢谢.