public void approveVacation() throws AddressException,MessagingException
String emplname=this.getEmployeeName();
session = FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap();
VacationDTO vacation=new VacationDTO();
vacation.setLeaveId(this.getLeaveId());
vacation.setLeaveDescriptions(this.getLeaveDescriptions());
vacation.setLeaveStartDate(this.getLeaveStartDate());
vacation.setEmployee(getEmployeeService().getUserByEmployeeId(getEmployeeId()));
vacation.setIsApproved((byte)1);
getVacationService().approveVacation(vacation);
String to=vacation.getEmployee().getEmployeeEmailAddress();
String name=vacation.getEmployee().getEmployeeName();
getVacationService().approveVacation(vacation);
Util.sendMail(to, "Hi"+name,
"Your vacation have been approved");
这是我使用List ....的Xhtml页面。
<h:form>
<h:dataTable headerClass="header" rowClasses="oddRow,evenRow" value="#{approveVacationBean.vacationList}"
var="list">
<h:column>
<f:facet name="header">Employee Id</f:facet>
#{list.employee.employeeId}
</h:column>
<h:column>
<f:facet name="header">Employee Name</f:facet>
#{list.employee.employeeName}
</h:column>
<h:column>
<f:facet name="header">Leave Applied</f:facet>
#{list.leaveStartDate}
</h:column>
<h:column>
<f:facet name="header">Leave Start Date</f:facet>
#{list.leaveStartDate}
</h:column>
<h:column>
<f:facet name="header">Leave End Date</f:facet>
#{list.leaveEndDate}
</h:column>
<h:column>
<f:facet name="header">No of days</f:facet>
#{list.leaveEndDate}
</h:column>
<h:column>
<f:facet name="header">Paid Leave Balence</f:facet>
#{list.leaveBalance}
</h:column>
<h:column>
<f:facet name="header">Leave Description</f:facet>
#{list.leaveDescriptions}
</h:column>
<h:column>
<f:facet name="header">Comment</f:facet>
<h:inputTextarea ></h:inputTextarea>
</h:column>
<h:column>
<f:facet name="header"></f:facet>
<h:commandButton value="Approve"/>
<h:commandButton value="Reject"/>
</h:column>
</h:dataTable>
我在selectiong特定行按钮中遇到问题。
很多次称为SER的方法...我使用getVacationList()来显示列表,但没有邮件发送给特定员工
答案 0 :(得分:1)
首先,将approveVacation方法放在approveVacationBean中。
然后更改方法以接受列表作为参数(我猜它是VacationDTO)。
最后,您应该将commandButton与approveVacation方法链接:
<h:commandButton value="Approve" ajax="false" action="#{approveVacationBean.approveVacation(list)}"/>
您的approveVacation方法应如下所示:
public void approveVacation(VacationDTO vacation) throws AddressException,MessagingException {
vacation.setIsApproved((byte)1);
getVacationService().approveVacation(vacation);
String to=vacation.getEmployee().getEmployeeEmailAddress();
String name=vacation.getEmployee().getEmployeeName();
getVacationService().approveVacation(vacation);
Util.sendMail(to, "Hi"+name,
"Your vacation have been approved");
}