似乎有两种使用JSP进行模板化的方法.包含其中一个语句的文件
<%@ include file="foo.html" %>
<jsp:include page="foo.html" />
Run Code Online (Sandbox Code Playgroud)
或使用JSP标记文件
// Save this as mytag.tag
<%@ tag description="Description" pageEncoding="UTF-8"%>
<html>
<head>
</head>
<body>
<jsp:doBody/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在另一个JSP页面中调用它
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
<t:mytag>
<h1>Hello World</h1>
</t:mytag>
Run Code Online (Sandbox Code Playgroud)
那么我应该使用哪种方法?现在一个被认为已被弃用,或者它们是否有效且涵盖不同的用例?
编辑
是否使用此标记文件与使用包含相同?
// Save this as product.tag
<%@ tag description="Product templage" pageEncoding="UTF-8"%>
<%@ tag import="com.myapp.Product" %>
<%@ attribute name="product" required="true" type="com.myapp.Product"%>
Product name: ${product.name} <br/>
Quantity: ${product.quantity} <br/>
Run Code Online (Sandbox Code Playgroud)
并在另一个JSP上调用它
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
<t:product>
<c:forEach items="${cart.products}" var="product">
<t:product product="${product}"/>
</c:forEach>
</t:product>
Run Code Online (Sandbox Code Playgroud)
在我看来,这与使用include和传递参数非常相似.标签文件与包含相同吗?
我有一个User类,我想使用Jackson映射到JSON.
public class User {
private String name;
private int age;
prviate int securityCode;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
我使用 - 将其映射到JSON字符串 -
User user = getUserFromDatabase();
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(user);
Run Code Online (Sandbox Code Playgroud)
我不想映射securityCode变量.有没有办法配置映射器以便忽略该字段?
我知道我可以编写自定义数据映射器或使用Streaming API但我想知道是否可以通过配置来完成它?
我想将所有不匹配的网址重定向到我的主页.IE浏览器.有人去www.mysite.com/blah/blah/blah/foo/bar或www.mysite.com/invalid_url- 我想重定向他们www.mysite.com
显然我不想干涉我的有效网址.
那么我是否可以使用一些通配符匹配器将请求重定向到这些无效的URL?
是否可以阻止Chrome Extensions在特定网站上运行?
假设我有一个网站www.foo.com,我是否可以阻止Chrome Extensions(特别是内容脚本)在我的网站上工作,或阻止他们访问DOM?
我看到PubNub说他们支持Socket.io - http://blog.pubnub.com/node-js-supercharged-by-pubnub/#socket.io-github
有人可以向我解释这里发生了什么,因为我认为PubNub与Socket.io的用途相同,因为它们都是实时消息传递的抽象层.在他们的GitHub页面上,它说它使Socket.io更快,但为什么他们首先与另一个平台集成?
在我看来,这就像微软Windows称他们现在支持Linux.如果您使用由Windows驱动的Linux,您将拥有更快的Linux.也就是说,这是一个荒谬的主张.
那么将Socket.io与PubNub一起使用的原因是什么,为什么不单独使用PubNub呢?
我刚刚掌握了Java EE.我知道向类添加@Stateful或@Stateless注释会使它成为EJB bean.但是,一旦我这样做,背景中实际发生了什么?我在Wikipedia上看到了与EJB相关的以下内容.
我需要将最后三个元素添加到List中.是否有任何实用方法,或者我只使用从"size(myList) - 1"向下迭代的for循环?
"未使用局部变量的值"警告实际上很烦人,因为它隐藏了侧边栏中的断点.有问题的变量也会加下划线以突出显示此警告,因此侧边栏图标相当多余.
那么有没有办法在侧边栏中隐藏这个警告?
我有一个托管在GitHub目录中的PDF.我在README.md中有一个指向此PDF的链接,如下所示 -
[foo](https://github.com/me/bar_repo/foo.pdf)
Run Code Online (Sandbox Code Playgroud)
这样用户可以在访问存储库时轻松找到它.然而,当他们点击链接而不是在浏览器中打开PDF或下载它时,用户将被带到带有URL的github页面 - https://github.com/me/bar_repo/foo.pdf- 这里他们可以选择"查看原始","打开"等...(并且Open命令需要安装GitHub for windows ...叹气).
我只是想让用户在浏览器中查看PDF,或者如果他们左键单击此链接,则可以选择下载PDF,这通常是人们在网上点击PDF链接的情况.
有谁知道我怎么能做到这一点?
我已经开始使用Play框架和Sublime Text 2.这是一个非常好的开发环境,但缺少一件事 - 调试功能.
我在网上看到了一些指南,解释了如何在ST2中为PHP设置调试.那么有没有办法在ST2中调试Java应用程序,特别是Play应用程序?