单击命令按钮后如何才能获得empid

时间:2014-06-24 03:13:49

标签: jsf

我有向数据库提交日期的页面。当我单击发送按钮时,它会向DB插入日期,但我也想根据记录的帐户将empid插入数据库,例如,如果只是用户,则empid为1,如果是admin,则empid为2.从互联网上研究,我找不到任何东西。我怎么能这样做呢?

在我的emp DB中我有

|empid |beginDate |EndDate|
        12/5/2014  12/5/2014

我得到了beginDate,结束了但是当我点击提交按钮时我无法得到empid抱歉我的英语不好,所以很难解释我的想法。

    @ManagedBean(name="vacationBean")
    @ViewScoped
    public class VacationBean implements Serializable{

/**
 * 
 */
private static final long serialVersionUID = 1L;
private Date vEndDate;
private Integer userId;
private Date vStartDate;




Requestrelax vacation;
Employee employee;

@EJB
VacationLocal vacations;
EmployeesLocal employees;
@PostConstruct
public void init(){
    System.out.println("0");
    vacation=new Requestrelax();

}

public void addVac(){
    System.out.println("1");
    vacations.addEmployeeVacation(vacation);

    System.out.println(vStartDate);
    System.out.println(vEndDate);
}



public Requestrelax getVacation() {
    return vacation;
}

public void setVacation(Requestrelax vacation) {
    this.vacation = vacation;
}

public Date getvEndDate() {
    return vEndDate;
}

public void setvEndDate(Date vEndDate) {
    this.vEndDate = vEndDate;
}

public Date getvStartDate() {
    return vStartDate;
}

public void setvStartDate(Date vStartDate) {
    this.vStartDate = vStartDate;
}

   }

在标题部分的xhtml中,我获得了用户名#loginBean.userName}

<p:dataTable styleClass="vtable" editable="true" var="user"
editMode="cell" value="#{userBean.employeeList}">

<p:column styleClass="columntd"
    headerText="#{text['user.startedDate']}">

    <p:calendar widgetVar="fromCal"
        value="#{vacationBean.vacation.beginDate}">
        <p:ajax event="dateSelect" listener="#{dayDiffBean.fromSelected}"
            update="diff" />
    </p:calendar>
</p:column>
<p:column styleClass="columntd"
    headerText="#{text['user.finishedDate']}">

    <p:calendar widgetVar="toCal" value="#{vacationBean.vacation.endDate}">
        <p:ajax event="dateSelect" listener="#{dayDiffBean.toSelected}"
            update="diff" />
    </p:calendar>

</p:column>

<h:commandButton styleClass="sndbutton1"
    value="#{text['employee.send']}" action="#{vacationBean.addVac}" />

在loggin bean中我用过它  LoginBean

所以当我点击coomandbutton时我想插入userId = e.getEmployeePkId();数据库取决于记录的用户。

1 个答案:

答案 0 :(得分:0)

要从另一个ManagedBean获取属性值,您可以使用@ManagedProperty将它们注入您的属性。

基于您的方案的示例将是

@ManagedProperty(value = "#{loginBean.userId}") private integer userId;

然后,您可以将userId插入数据库。