我试图将一个服务注入我的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) 我有以下代码:
<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方法甚至不被调用.恕我直言,我想做的事情相当简单,但我不能为我的生活弄清楚如何去做.
我希望在父类中有一个静态方法,它创建我调用此方法的子类的实例.
举个例子来说明这一点:
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);
我正在尝试从代码中重新配置Eclipse(Eclipse-CS)的CheckStyle插件(当Eclipse正在运行时).到目前为止,我发现这样做的唯一方法是用配置替换XML文件并手动重新加载配置.
替换XML文件并不是我希望的优雅解决方案,但它有效; 但是我仍然需要一种让Eclipse-CS实际加载配置文件的方法.
我一直在寻找实现这一目标的方法,但我没有想法.