小编Mic*_*iss的帖子

AngularJS:ngInclude和动态URL

我正在使用该ngInclude指令来加载HTML片段.现在我正在寻找传递动态URL的最佳方法.我知道我可以使用字符串连接创建URL:

<ng-include src="'/foo/' + fooId + '/bar/' + barId + '/baz/' + bazId"></ng-include>
Run Code Online (Sandbox Code Playgroud)

在我眼里,这有点难看.

ngHref并且ngSrc例如,接受包含URL {{}}标记.恕我直言,这种语法更清晰:

<img ng-src="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
<a ng-href="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法将动态URL传递给ngInclude?

angularjs angularjs-directive angularjs-ng-include

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

泽西@Context范围

我很难理解泽西的注射机制.JAX-RS规范(http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html#x3-520005)声明可以在Application子类,根资源类和提供程序中通过@Context进行注入.

我现在有一个在启动时实例化的类,并且有一个在每个请求上调用的方法.在方法内部,我需要访问当前的UriInfo对象.问题是,我的代码没有调用此方法.所以我无法直接将UriInfo传递给该方法.

我其实想做这样的事情:

public class MyClass implements ThirdPartyInterface {

    // not possible because class is no Application subclass, root resource class or provider
    @Context
    private UriInfo uriInfo;

    public void methodCallebByThirdPartyCode() {
        Uri requestUri = uriInfo.getRequestUri();

        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过这个.显然没有成功:

public class MyClass implements ThirdPartyInterface {

    private UriInfo uriInfo;

    public MyClass(UriInfo uriInfo) {
        this.uriInfo = uriInfo;
    }

    public void methodCallebByThirdPartyCode() {
        Uri requestUri = uriInfo.getRequestUri();

        // do something
    }
}

@Provider
@Produces(MediaType.WILDCARD)
public class MyBodyWriter implements MessageBodyWriter<MyView> …
Run Code Online (Sandbox Code Playgroud)

dependency-injection jax-rs jersey

5
推荐指数
1
解决办法
1823
查看次数