小编mar*_*nve的帖子

"@inject"-ed属性保持为null

我试图将一个服务注入我的bean,但它始终是null.我收到以下错误:WELD-001000错误解析属性userBean对基础null.

一些代码片段:

的index.xhtml

<h:body>
    Hello from Facelets
    #{userBean.name}
</h:body>
Run Code Online (Sandbox Code Playgroud)

userbean.java

package beans;

import Domain.User;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;
import service.UserService;

@Named
@SessionScoped
public class UserBean implements Serializable{
    @Inject UserService service;
    private User user;

    public UserBean(){
        this.user = service.find_user("foo");
    }

    public String getName(){
        return "bar";
    }
}
Run Code Online (Sandbox Code Playgroud)

UserService.java

package service;

import Domain.User;
import javax.ejb.Stateless;
import javax.inject.Named;

@Named
@Stateless
public class UserService {
    public UserService(){}

    public User find_user(String name){
        return new User();
    }
}
Run Code Online (Sandbox Code Playgroud)

java dependency-injection javabeans java-ee java-ee-6

13
推荐指数
2
解决办法
2万
查看次数

使用<f:ajax>调用<h:commandLink>操作方法

我有以下代码:

<h:commandLink action="#{testBean.showSomething}">
    Do Stuff
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)

做我想要的(改变testbean的状态并重新加载将显示不同的div组的页面.因为它们的"渲染"属性)现在我想用ajax来完成这个,所以我做了这个:

<h:commandLink action="#{testBean.showSomething}">
    <f:ajax event="click" render=":content" />
    Do Stuff
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)

但是这会导致showSomething方法甚至不被调用.恕我直言,我想做的事情相当简单,但我不能为我的生活弄清楚如何去做.

ajax jsf jsf-2

11
推荐指数
1
解决办法
2万
查看次数

PHP:从父方法中的静态方法调用子构造函数

我希望在父类中有一个静态方法,它创建我调用此方法的子类的实例.

举个例子来说明这一点:

class parent {
    public static method make_objects($conditions){
        for (...){
            // here i want to create an instance
            // of whatever subclass i am calling make_objects on
            // based on certain $conditions
        }
    }
}

class sub extends parent{
    ...
}

$objects = sub::make_objects($some_conditions);

php static constructor subclass

10
推荐指数
1
解决办法
4290
查看次数

以编程方式重启(或重新加载配置)Eclipse-CS

我正在尝试从代码中重新配置Eclipse(Eclipse-CS)的CheckStyle插件(当Eclipse正在运行时).到目前为止,我发现这样做的唯一方法是用配置替换XML文件并手动重新加载配置.

替换XML文件并不是我希望的优雅解决方案,但它有效; 但是我仍然需要一种让Eclipse-CS实际加载配置文件的方法.

我一直在寻找实现这一目标的方法,但我没有想法.

eclipse checkstyle

7
推荐指数
2
解决办法
1442
查看次数