智能网站建设模板售后,衡水网站建设的地方,关于文化馆网站建设的材料,腾讯会议价格java百里香我最近在基于Spring的Web应用程序中转换为thymeleaf以进行视图模板化#xff0c;而不是jsp。 百里香叶文档中关于为什么百里香叶在jsp上为什么能保持水分的所有争论#xff0c;我肯定被卖掉了。 除了能够预览模板之外#xff0c;对我来说#xff0c;主要原因之一… java百里香 我最近在基于Spring的Web应用程序中转换为thymeleaf以进行视图模板化而不是jsp。 百里香叶文档中关于为什么百里香叶在jsp上为什么能保持水分的所有争论我肯定被卖掉了。 除了能够预览模板之外对我来说主要原因之一是视图在运行时的呈现方式。 尽管应用程序堆栈必须将jsp的呈现推迟到servlet容器但它可以完全控制thymeleaf模板的呈现。 为了进一步说明这一点使用jsp作为视图技术应用程序仅返回jsp的位置并且取决于servlet容器来呈现jsp。 那么为什么这又是一个重要原因–因为在spring-test模块中使用了mvc测试支持 所以现在可以声明实际呈现的内容而不仅仅是视图的名称。 考虑一个示例Spring MVC控制器 Controller
RequestMapping(/shop)
public class ShopController {...RequestMapping(/products)public String listProducts(Model model) {model.addAttribute(products, this.productRepository.findAll());return products/list;}
} 如果该视图基于jsp我将进行如下测试 RunWith(SpringJUnit4ClassRunner.class)
WebAppConfiguration
ContextConfiguration(classes SampleWebApplication.class)
public class ShopControllerWebTests {Autowiredprivate WebApplicationContext wac;private MockMvc mockMvc;Beforepublic void setup() {this.mockMvc MockMvcBuilders.webAppContextSetup(this.wac).build();}Testpublic void testListProducts() throws Exception {this.mockMvc.perform(get(/shop/products)).andExpect(status().isOk()).andExpect(view().name(products/list));}
} 断言仅在视图名称上。 现在考虑使用百里香叶作为查看技术的测试 Test
public void testListProducts() throws Exception {this.mockMvc.perform(get(/shop/products)).andExpect(status().isOk()).andExpect(content().string(containsString(Dummy Book1)));
} 在这里我断言实际的渲染内容。 这确实很好但是使用jsp时我必须验证使用真实容器在运行时正确渲染了jsp而使用thymeleaf我可以仅使用测试来验证渲染是否干净。 翻译自: https://www.javacodegeeks.com/2014/04/spring-test-with-thymeleaf-for-views.htmljava百里香