我有向数据库提交日期的页面。当我单击发送按钮时,它会向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();数据库取决于记录的用户。
答案 0 :(得分:0)
要从另一个ManagedBean获取属性值,您可以使用@ManagedProperty
将它们注入您的属性。
基于您的方案的示例将是
@ManagedProperty(value = "#{loginBean.userId}")
private integer userId;
然后,您可以将userId
插入数据库。