我有一个嵌入式jetty服务器的应用程序,我就是这样开始的(放在main()中并使用eclipse启动):
Server server = new Server(port);
WebAppContext context = new WebAppContext();
context.setResourceBase("web/");
context.setDescriptor("web/WEB-INF/web.xml");
context.setConfigurations(new Configuration[]{
new AnnotationConfiguration(), new WebXmlConfiguration(),
new WebInfConfiguration(), new TagLibConfiguration(),
new PlusConfiguration(), new MetaInfConfiguration(),
new FragmentConfiguration(), new EnvConfiguration()});
context.setContextPath("/");
context.setParentLoaderPriority(true);
server.setHandler(context);
server.start();
server.join();
Run Code Online (Sandbox Code Playgroud)
我的web.xml看起来像这样(现在是空的,我不确定我是否可以完全删除它):
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
metadata-complete="false"
version="3.0">
</web-app>
Run Code Online (Sandbox Code Playgroud)
我有一个简单的类设置如下:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns={"/test"})
public class TestServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.getRequestDispatcher("/WEB-INF/html/index.html").forward(request,response);
}
}
Run Code Online (Sandbox Code Playgroud)
当我在web.xml中使用传统的servlet映射时,我的应用程序工作正常.但是当我删除web.xml映射并使用注释时,我只能获得404.看起来它根本不是在扫描注释.控制台看起来像这样:
2012-08-01 …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个Angular组件,它包含一个<button>
带有一些附加功能的本机元素.如果它们被禁用并且我想要复制相同的功能,则按钮不会触发单击事件.即给定:
<my-button (click)="onClick()" [isDisabled]="true">Save</my-button>
Run Code Online (Sandbox Code Playgroud)
有没有办法my-button
防止onClick()
被叫?
在Angular中,您可以通过这种方式监听主机点击事件,并停止传播事件:
//Inside my-button component
@HostListener('click', ['$event'])
onHostClick(event: MouseEvent) {
event.stopPropagation();
}
Run Code Online (Sandbox Code Playgroud)
这可以防止事件冒泡到祖先元素,但它不会阻止内置(click)
输出在同一主机元素上触发.
有没有办法实现这个目标?
编辑1:我现在解决这个问题的方法是使用一个名为"onClick"的不同输出,消费者必须知道使用"onClick"而不是"click".这不是理想的.
编辑2:<button>
成功停止源自元素的单击事件.但是如果你像我一样将元素放在按钮标记内,那么单击这些目标上的事件会传播到主机.嗯,应该可以将按钮包裹在另一个停止传播的元素中......
我有一个 OneToMany 关系,假设ListGroup
拥有很多ListItem
s。我定义了 OneToMany 字段并且它有效,但我并不总是想获取所有 s ListItem
。我想要一个名为 的附加字段latestItem
。在 Hibernate 中,当您访问 oneToMany 集合中的一个元素时,它会获取所有这些元素,这就是我想要这一附加映射的原因。如果项目很多,则以下方法效率较低:
public ListItem getFirstItem() {
return listItems.get(0);
}
Run Code Online (Sandbox Code Playgroud)
我试图建立一个公式。如果我想获取相关字段的单列,公式似乎可以工作,如下所示:
@Formula("(select A.description from LIST_ITEM A where A.list_group_id=id and A.id=(select max(B.id) from LIST_ITEM B where B.list_group_id=id))")
public String getLatestListItemDescription() { ... }
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试选择要放入 bean 中的整行,则会失败:
@Formula("(select A.* from LIST_ITEM A where A.list_group_id=id and A.id=(select max(B.id) from LIST_ITEM B where B.list_group_id=id))")
public ListItem getLatestListItem() { ... }
Caused by: org.hibernate.MappingException: Could not determine type for: …
Run Code Online (Sandbox Code Playgroud) 我有一个同时包含 Angular (2+) 和 AngularJS (1.x) 的应用程序。我们正在使用第三方 AngularJS 库,该库在链接函数中从其 attrs 数组中读取对象,如下所示:
//3rd party lib code:
module.directive('test', () => ({
template: `Look at the console`,
link(elt, scope, attrs) {
console.log('link attrs.props', attrs.props);
}
}))
Run Code Online (Sandbox Code Playgroud)
模板:
<!-- someObject = {name: 'foo'} -->
<test props="{{someObject}}"></test>
Run Code Online (Sandbox Code Playgroud)
我们刚刚升级到最新版本的 AngularJS,并注意到一个问题。通常,attrs.props 计算结果为对象的字符串表示形式。我们得到的不是字符串化对象,而是“[object Object]”
我尝试了最小化复制,但无法重现问题,直到我尝试导入 Zone.js,如您在此 stackblitz 上看到的: https ://stackblitz.com/edit/angularjs-attrs-test?file=app.js
如果导入了 Zone.js(Angular 2+ 需要它),那么attrs.props
就是"[object Object]"
。没有它,attrs.props
就是{name: 'foo'}
。
这是一个已知的问题?有解决方法吗?
angular ×2
angularjs ×1
annotations ×1
hibernate ×1
java ×1
javascript ×1
jetty ×1
jpa ×1
zone.js ×1