小编blu*_*oot的帖子

如何将Spring 3 Bean注入JSF 2转换器

我正在尝试将@javax.naming.InjectSpring 3 Bean调WtvrBean成JSF 2 @FacesConverter.

Bean和Converter都在同一个包中.而且,在我的spring的applicationContext.xml中,我正在扫描这个包:

<context:component-scan base-package="my-package" />
Run Code Online (Sandbox Code Playgroud)

但这不起作用.当然,使用转换器的JSF 2内部类绝对不在my-package.

例如,如果我@ManagedBean从JSF 2 ManagedBean中删除它,并将其替换为@org.springframework.stereotype.Componentor @Controller,则WtvrBean可以@Inject使用Spring WebFlow在此ManagedBean 上编辑.

好吧,据我所知,@ConverterSpring中没有刻板印象.

我知道我可以使用

FacesContextUtils.getWebApplicationContext(context).getBean("WtvrBean")
Run Code Online (Sandbox Code Playgroud)

但是,通过这种方法,Web应用程序和弹簧之间的耦合变得更加紧密.(注释是元数据,甚至不被某些作者视为依赖).

FacesContextUtils如果没有更好的解决方案,我到目前为止使用.

有任何想法吗?

jsf spring dependency-injection converter jsf-2

8
推荐指数
1
解决办法
8805
查看次数

JQuery UI datepicker:如何在呈现日历之后绑定事件?

我正在使用datepicker.举例来说,绑定事件的常用方法beforeShowDay是:

$('.selector').datepicker({
   beforeShowDay: function(date) { ... }
});
Run Code Online (Sandbox Code Playgroud)

我需要的是beforeShowDay在呈现日历后绑定事件.所以,首先我说渲染日历:

$('.mySpecialContainer').datepicker({
   //in this moment, for some reason, I am not allowed to bind nothing (that's not me who renders the calendar, that's why I am not allowed)
});
Run Code Online (Sandbox Code Playgroud)

然后,如果我尝试以通常的方式绑定某些东西:

$('.mySpecialContainer').datepicker({
   beforeShowDay: function(date) { ... }
});
Run Code Online (Sandbox Code Playgroud)

当然,日历将在内部再次呈现'.mySpecialContainer',而不仅仅是绑定事件.我试过了:

$('.mySpecialContainer').bind('beforeShowDay', function(date) { ... });
Run Code Online (Sandbox Code Playgroud)

但这只是一个绝望的行动:)

jquery events jquery-ui datepicker primefaces

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

如何重定向到JSF中的锚点?

假设我在JSF Managed Bean中有这个动作:

public String doSomething() {
    FacesContext.getCurrentInstance().getExternalContext().getFlash().put("msg", "Something was done successfully");
    return "view?faces-redirect=true";
}
Run Code Online (Sandbox Code Playgroud)

view有一个带有id的锚元素msg.我希望网址有这个锚点(对于可访问性问题),例如:

view.jsf#msg
Run Code Online (Sandbox Code Playgroud)

或者是我的FacesServlet过滤器模式.

return "view#msg?faces-redirect=true";显然不会起作用,因为JSF(至少是mojarra)会尝试view#msg作为一个视图进行评估.

所以我的问题是如何让JSF #msg最终重定向到一个URL .

anchor redirect accessibility jsf-2

8
推荐指数
1
解决办法
5126
查看次数

为什么Spring AOP不会在运行时编织外部jar?

我有一个基于Spring 3的java应用程序构建.这个项目有另一个jar作为依赖.

这个依赖包含一个@org.aspectj.lang.annotation.Aspect类(比如说com.aspectprovider.aspects.MyAspect).有一个@Before建议从实现接口的类编织方法Foo.就像是:

@Before("execution(* com.project.Foo.save(..))")
Run Code Online (Sandbox Code Playgroud)

Foo接口可以是"项目"内或另一罐子.这个例子没关系.

我的项目包含实现的类Foo.当然,那些是我希望它被编织的类.

我的Spring应用程序上下文配置文件(applicationContext.xml)包含以下行:

<aop:aspectj-autoproxy />
Run Code Online (Sandbox Code Playgroud)

我还将方面声明为bean,并注入一些属性:

<bean id="myAspect" class="com.aspectprovider.aspects.MyAspect"
  factory-method="aspectOf" >
  <property name="someproperty" value="somevalue" />
</bean>
Run Code Online (Sandbox Code Playgroud)

通过日志记录,我可以看到MyAspect实例化并注入了属性.但是方法保存没有被截获.这就是问题.

如果我将方面类从jar复制到具有Spring的应用程序,它可以工作.当这些方面包含在外部jar中时,方法save不会被截获.有线索吗?

编辑:我如何调用Foo的保存方法:

//in a JSF managed bean
@Inject
private Foo myFoo;  //there's a implementation of Foo in a package that spring is looking at. So it is injected correctly.

public String someAction() {
    myFoo.save("something"); //the @Before advice is only called if the …
Run Code Online (Sandbox Code Playgroud)

java spring aspectj spring-aop

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

通过linux机器打开Windows共享文件夹

我在Ubuntu上使用python 2.5,并且在同一网络中有一台机器叫做machine1.该文件夹是共享的.

如何在该机器的特定文件夹中获取文件?

我试过了,没有成功:

urllib.urlopen('\\machine1\folder\file.txt')
Run Code Online (Sandbox Code Playgroud)

python urllib

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

如何使用相同的密钥将多个参数提取到JSF托管bean中

假设我有这个要求:

myview.xhtml?a=1&b=par1&b=par2
Run Code Online (Sandbox Code Playgroud)

myview.xhtml

<f:metadata>
  <f:viewParam name="a" value="#{myBean.a}"/>
  <f:viewParam name="b" value="#{myBean.b}"/>
</f:metadata>
Run Code Online (Sandbox Code Playgroud)

MyBean

@ManagedProperty("#{param.a}")
String a;

@ManagedProperty("#{param.b}")
String b;
Run Code Online (Sandbox Code Playgroud)

我认为这setB(String b)将被调用两次,所以我可以将项添加到a List,但它只调用一次,第一个值(par1).

我也尝试将b转换为a,List<String>但JSF并没有将其评估为a List.

所以,我的问题是如何使用@ManagedProperty相同的键注入多个参数值.(现在我正在paramterValues手动)

parameters request jsf-2

4
推荐指数
1
解决办法
2457
查看次数

git如何恢复到特定的修订版

我有一个git项目.我刚做了一个提交,然后删除了一些目录.我的坏人.现在我想恢复已删除的目录.我怎么做?

directory git-revert

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

如何在没有应用程序上下文的情况下使用spring-security过滤器?

我想直接使用java代码中没有spring应用程序上下文(或spring容器)的spring-security web-filters.

这可能吗?我可以直接调用不同的弹簧实时循环方法吗?如果有的话,是否有一个如何做到这一点的样本(哪些不同的接口要注意和它们的排序)?

java spring-security

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

如何在浏览器中轻松比较样式?

我正在使用Google Chrome的开发人员工具来检查CSS样式.有时我需要比较页面上2个元素的样式,或者不同页面上的2个元素.

是否有工具或附件可以让我轻松比较?现在我必须在视觉上看,来回切换,一次比较一件事.我希望有一个工具可以突出风格,来源,...的差异

如果存在这样的工具,我愿意使用其他浏览器.

css google-chrome web-inspector

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

为什么.replace方法使用正斜杠字符来包含第一个参数?

我正在编写一本关于Javascript的书,并且遇到了以下代码示例,用于替换表头HTML元素的class属性的值:

th.className = th.className.replace(/asc/,"dsc");
th.className = th.className.replace(/dsc/,"asc");

为什么.replace的第一个参数,当前值th.className,用正斜杠括起来而不是引号?

为什么不使用引号括起两个参数,而不仅仅是第二个?

javascript regex syntax

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

Python列表删除方法:如何实现?

在java中,我的客户端类有"代码"attr和equals方法.方法等于接收另一个客户端并与其自身的代码attr进行比较.

在python中,我只是读到我们有__cmp__方法,和java方法一样做.好的,我做到了.我创建了我的类客户端,使用"code"attr和方法comp来验证代码是否相同.

class Client():
    def __init__(self, code):
        self.code = code

    def __cmp__(self, obj):
        return obj.code == self.code

    def __repr__(self):
        return str(self.code)
Run Code Online (Sandbox Code Playgroud)

然后我将3个Client对象放在python的列表中:

bla = [Client(1), Client(2), Client(3)]
Run Code Online (Sandbox Code Playgroud)

然后,当我尝试:

bla.remove(Client(3))
Run Code Online (Sandbox Code Playgroud)

惊人的python删除了第一个元素(客户端代码为1).

我做错了什么?我在python的Lib文件中搜索了list的实现,但是不容易找到.

有人可以帮忙吗?

python compare list

0
推荐指数
1
解决办法
1613
查看次数

sql.date vs util.date

因为我们有两个日期类:java.sql.Datejava.util.Date.是什么原因ResultSet#getDate()归还sql.Date不是util.Date
同意sql.Date延伸util.Date.但是,当两个类中的大多数方法看起来相同时,完全创建新类的原因是什么?

java

0
推荐指数
1
解决办法
528
查看次数