Liferay MVC Portlet Database Interactions / Liferay MVC CRUD Operations
- Legacy JDBC Code
- Liferay Service Builder
|
import java.io.IOException;
import java.sql.SQLException;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import com.liferay.portal.kernel.dao.jdbc.DataAccess;
import com.liferay.util.bridges.mvc.MVCPortlet;
public class StudentMVCPortletAction extends MVCPortlet {
public void getStudent(ActionRequest actionRequest,
ActionResponse actionResponse) throws IOException,
PortletException, SQLException {
java.sql.Connection con = null;
java.sql.Statement st = null;
try {
con = DataAccess.getConnection();
st = con.createStatement();
java.sql.ResultSet rs = st.executeQuery("SELECT * FROM Student");
while (rs.next()) {
String firstName = rs.getString("firstName");
String lastName = rs.getString("lastName");
System. out.println("Student FirstName:" + firstName);
System. out.println("Student Last Name:" + lastName);
}
} catch (Exception e) {
} finally {
st.close();
con.close();
}
}
}
|
- Create simple Liferay MVC portlet using Liferay IDE in eclipse
- Create Service.xml file in Portlet WEB-INF directory
- Define required entities/tables in service.xml
- Run the Service builder
- Using Generated Database services In Portlet Development
|
<?xml version= "1.0" encoding= "UTF-8"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.2.0//EN"
"http://www.liferay.com/dtd/liferay-service-builder_6_2_0.dtd">
<service-builder package-path= "com.meera.dbservice">
<author>LiferaySavvy</author>
<namespace>LS</namespace>
<entity name= "Student" local-service= "true" remote-service= "true">
<!-- PK fields -->
<column name= "studentId" type= "long" primary= "true" />
<column name= "firstName" type= "String" />
<column name= "lastName" type= "String" />
<column name= "studentAge" type= "int" />
<column name= "studentGender" type= "int" />
<column name= "studentAddress" type= "String" />
<!-- Order -->
<order by= "asc">
<order-column name= "studentId" />
</order>
<!-- Finder methods -->
<finder name= "byGender" return-type= "Collection">
<finder-column name= "studentGender"/>
</finder>
</entity>
</service-builder>
|
|
ant build-service
|
|
XXXServiceUtil
XXXLocalServiceUtil
XXXUtil
XXX is entity name which we have given in service.xml and our example its Student
StudetLocalServiceUtil
StudentServiceUtil
StudentUtil
|
- Add /Create record
- Delete Record
- Update Record
- Show Data/Record
|
//create primary key
long studentId=CounterLocalServiceUtil. increment();
//create student persistance object
Student student= null;
student=StudentLocalServiceUtil.createStudent(studentId);
//fill the data in persistance object
student.setFirstName(firstName);
student.setLastName(lastName);
student.setStudentAge(studentAge);
student.setStudentGender(studentGender);
student.setStudentAddress(address);
//Add student persistance object to database student table
student=StudentLocalServiceUtil.addStudent(student);
|
|
Student student= null;
student=new StudentImpl();
//fill the data in persistance object
student.setFirstName(firstName);
student.setLastName(lastName);
student.setStudentAge(studentAge);
student.setStudentGender(studentGender);
student.setStudentAddress(address);
//Add student persistance object to database student table
student=StudentLocalServiceUtil.addStudent(student);
|
|
Student student=StudentLocalServiceUtil.getStudent(studentId);
//fill update information
student.setFirstName(firstName);
student.setLastName(lastName);
student.setStudentAge(studentAge);
student.setStudentGender(studentGender);
student.setStudentAddress(address);
student=StudentLocalServiceUtil.updateStudent(student);
|
|
long studentId = ParamUtil. getLong(actionRequest,"studentId");
Student student=StudentLocalServiceUtil.deleteStudent(studentId);
|
|
Student student=StudentLocalServiceUtil. getStudent(studentId);
student=StudentLocalServiceUtil.deleteStudent(student);
|
|
<entity name= "Student" local-service= "true" remote-service= "true">
<!-- PK field -->
<column name= "studentId" type= "long" primary= "true" />
<column name= "firstName" type= "String" />
<column name= "lastName" type= "String" />
<column name= "studentAge" type= "int" />
<column name= "studentGender" type= "int" />
<column name= "studentAddress" type= "String" />
<!-- Finder methods -->
<finder name="byGender" return-type="Collection">
<finder-column name="studentGender"/>
</finder>
</entity>
|
|
Student student=StudentLocalServiceUtil.getStudent(studentId);
|
|
List<Student> studentList=
StudentLocalServiceUtil.getStudents(0,
StudentLocalServiceUtil.getStudentsCount()); |
|
public com.meera.dbservice.model.Student addStudent(
com.meera.dbservice.model.Student student)
throwscom.liferay.portal.kernel.exception.SystemException;
public com.meera.dbservice.model.Student createStudent( long studentId);
public com.meera.dbservice.model.Student deleteStudent(
com.meera.dbservice.model.Student student)
throwscom.liferay.portal.kernel.exception.SystemException;
public java.util.List dynamicQuery(
com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
throwscom.liferay.portal.kernel.exception.SystemException;
public long dynamicQueryCount(
com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
throwscom.liferay.portal.kernel.exception.SystemException;
public java.util.List<com.meera.dbservice.model.Student> getStudents(
int start, int end)
throwscom.liferay.portal.kernel.exception.SystemException;
public int getStudentsCount()
throwscom.liferay.portal.kernel.exception.SystemException;
public com.meera.dbservice.model.Student updateStudent(
com.meera.dbservice.model.Student student)
throwscom.liferay.portal.kernel.exception.SystemException;
public com.meera.dbservice.model.Student deleteStudent( long studentId)
throwscom.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException;
public com.meera.dbservice.model.Student addStudent(
com.meera.dbservice.model.Student student)
throwscom.liferay.portal.kernel.exception.SystemException;
public com.meera.dbservice.model.Student createStudent( long studentId);
|
- Service Builder is tool to generate database interaction layer to the portlet.
- Service Builder is simple ANT script and it has target to run the tool.
- Service Builder ANT target is available in portlet build.xml file by default so we can run target to generate service layer for portlet.
- Service Builder need service.xml file so that it will use those configuration to generate services.
- Service.xml file consist of set of predefined tags and it will be available in Service Builder DTD file.
- Service builder use the Spring Hibernate DAO implementation concept to generate services.
- Service Builder tool generate all java interfaces, implementation classes and spring hibernate configuration files, apart from these it will also generated required SQL scripts.
- SQL script will be run at time of portlet deployment it’s generally created table scripts and indexes scripts.
- For each modification in service.xml file or any other changes in service layer related classes we need to re run the service builder.
- ant build-service is target to run service builder.
- Service Builder packages all interfaces and required Util classes as porletName-portlet.jar file.
- Services jar file will be used in other portlet to obtain other portlet services. This is called sharing of services in other portlet.
|
package com.meera.liferaymvc;
import java.io.IOException;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import com.liferay.counter.service.CounterLocalServiceUtil;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.servlet.SessionErrors;
import com.liferay.portal.kernel.servlet.SessionMessages;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.util.bridges.mvc.MVCPortlet;
import com.meera.dbservice.model.Student;
import com.meera.dbservice.model.impl.StudentImpl;
import com.meera.dbservice.service.StudentLocalServiceUtil;
public class StudentMVCPortletAction extends MVCPortlet {
public void addStudent(ActionRequest actionRequest,
ActionResponse actionResponse) throws IOException, PortletException {
try {
String firstName = ParamUtil. getString(actionRequest, "firstName");
String lastName = ParamUtil. getString(actionRequest, "lastName");
int studentAge = ParamUtil. getInteger(actionRequest, "studentAge");
int studentGender = ParamUtil. getInteger(actionRequest, "sex", 1);
String address = ParamUtil. getString(actionRequest, "address");
// add student record
// create primary key
long studentId = CounterLocalServiceUtil. increment();
// create student persistance object
Student student = null;
student = new StudentImpl();
student = StudentLocalServiceUtil. createStudent(studentId);
// fill the data in persistance object
student.setFirstName(firstName);
student.setLastName(lastName);
student.setStudentAge(studentAge);
student.setStudentGender(studentGender);
student.setStudentAddress(address);
// Add student persistance object to database student table
student = StudentLocalServiceUtil. addStudent(student);
if (student != null) {
// adding success message
SessionMessages. add(actionRequest.getPortletSession(),
"student-add-success");
_log.info("Student have been added successfylly");
} else {
SessionErrors. add(actionRequest.getPortletSession(),
"student-add-error");
_log.error("There is an Erron in adding Student");
}
// navigate to add student jsp page
actionResponse.setRenderParameter("mvcPath",
"/html/jsps/add_student.jsp");
} catch (Exception e) {
SessionErrors. add(actionRequest.getPortletSession(),
"student-add-error");
e.printStackTrace();
}
}
public void deleteStudent(ActionRequest actionRequest,
ActionResponse actionResponse) throws IOException, PortletException {
try {
long studentId = ParamUtil. getLong(actionRequest, "studentId");
Student student = StudentLocalServiceUtil. deleteStudent(studentId);
if (student != null) {
// adding success message
SessionMessages. add(actionRequest.getPortletSession(),
"student-delete-success");
_log.info("Student have been deleted successfylly");
} else {
SessionErrors. add(actionRequest.getPortletSession(),
"student-delete-error");
_log.error("There is an Erron in delete Student");
}
// navigate to add student jsp page
actionResponse.setRenderParameter("mvcPath",
"/html/jsps/delete_student.jsp");
} catch (Exception e) {
SessionErrors. add(actionRequest.getPortletSession(),
"student-add-error");
e.printStackTrace();
}
}
public void updateStudent(ActionRequest actionRequest,
ActionResponse actionResponse) throws IOException, PortletException {
try {
long studentId = ParamUtil. getLong(actionRequest, "studentId");
String firstName = ParamUtil. getString(actionRequest, "firstName");
String lastName = ParamUtil. getString(actionRequest, "lastName");
int studentAge = ParamUtil. getInteger(actionRequest, "studentAge");
int studentGender = ParamUtil. getInteger(actionRequest, "sex", 1);
String address = ParamUtil. getString(actionRequest, "address");
Student student = StudentLocalServiceUtil. getStudent(studentId);
if (student != null) {
// fill update information
student.setFirstName(firstName);
student.setLastName(lastName);
student.setStudentAge(studentAge);
student.setStudentGender(studentGender);
student.setStudentAddress(address);
student = StudentLocalServiceUtil. updateStudent(student);
if (student != null) {
// adding success message
SessionMessages. add(actionRequest.getPortletSession(),
"student-update-success");
_log.info("Student have been updated successfylly");
} else {
SessionErrors. add(actionRequest.getPortletSession(),
"student-update-error");
_log.error("There is an Erron in delete Student");
}
} else {
SessionErrors. add(actionRequest.getPortletSession(),
"student-update-error");
_log.error("Could not find student.");
}
// navigate to add student jsp page
actionResponse.setRenderParameter("mvcPath",
"/html/jsps/update_student.jsp");
} catch (Exception e) {
SessionErrors. add(actionRequest.getPortletSession(),
"student-update-error");
e.printStackTrace();
}
}
public void getStudent(ActionRequest actionRequest,
ActionResponse actionResponse) throws IOException, PortletException {
try {
long studentId = ParamUtil. getLong(actionRequest, "studentId");
String cmd = ParamUtil. getString(actionRequest, "cmd");
Student student = StudentLocalServiceUtil. getStudent(studentId);
if (student != null) {
// adding success message
actionRequest.setAttribute("studentObject", student);
_log.info("Student have been found for specific primary key successfylly");
} else {
_log.error("Stundet not found");
}
if (cmd.equals("DELETE")) {
// navigate to add student jsp page
actionResponse.setRenderParameter("mvcPath",
"/html/jsps/delete_student.jsp");
}
if (cmd.equals("UPDATE")) {
// navigate to add student jsp page
actionResponse.setRenderParameter("mvcPath",
"/html/jsps/update_student.jsp");
}
if (cmd.equals("VIEW")) {
// navigate to add student jsp page
actionResponse.setRenderParameter("mvcPath",
"/html/jsps/display_student.jsp");
}
} catch (Exception e) {
SessionErrors. add(actionRequest.getPortletSession(),
"student-add-error");
e.printStackTrace();
}
}
private static Log _log = LogFactoryUtil
. getLog(StudentMVCPortletAction. class);
}
|
|
<%@ taglib uri= "http://liferay.com/tld/portlet" prefix= "liferay-portlet"%>
<%@ taglib uri= "http://liferay.com/tld/theme" prefix= "liferay-theme" %>
<%@ taglib uri= "http://liferay.com/tld/ui" prefix= "liferay-ui" %>
<%@ taglib uri= "http://java.sun.com/portlet_2_0" prefix= "portlet" %>
<portlet:defineObjects />
<liferay-theme:defineObjects />
<h1> Liferay Service Builder/ Student CRUD Operations</h1>
<portlet:renderURL var= "addStudent">
<portlet:param name= "mvcPath" value= "/html/jsps/add_student.jsp"/>
</portlet:renderURL>
<portlet:renderURL var= "updateStudent">
<portlet:param name= "mvcPath" value= "/html/jsps/update_student.jsp"/>
</portlet:renderURL>
<portlet:renderURL var= "dislayStudent">
<portlet:param name= "mvcPath" value= "/html/jsps/display_student.jsp"/>
</portlet:renderURL>
<portlet:renderURL var= "deleteStudent">
<portlet:param name= "mvcPath" value= "/html/jsps/delete_student.jsp"/>
</portlet:renderURL>
<br/>
<a href= "<%=addStudent.toString()%> ">Add Student</a><br/>
<a href= "<%=updateStudent.toString()%> ">Update Student</a><br/>
<a href= "<%=deleteStudent.toString()%> ">Delete Student</a><br/>
<a href= "<%=dislayStudent.toString()%> ">Display Student</a><br/>
|
|
<%@page import= "com.liferay.portal.kernel.servlet.SessionErrors"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionMessages"%>
<%@ taglib uri= "http://liferay.com/tld/portlet" prefix= "liferay-portlet"%>
<%@ taglib uri= "http://liferay.com/tld/theme" prefix= "liferay-theme" %>
<%@ taglib uri= "http://liferay.com/tld/ui" prefix= "liferay-ui" %>
<%@ taglib uri= "http://java.sun.com/portlet_2_0" prefix= "portlet" %>
<portlet:defineObjects />
<portlet:renderURL var= "homeURL"></portlet:renderURL>
<portlet:actionURL var= "addStudentActionURL" windowState= "normal"
name= "addStudent">
</portlet:actionURL>
<% if(SessionMessages.contains(renderRequest.
getPortletSession(),"student-add-success")){%>
<liferay-ui:success key= "student-add-success" message= "Student information
have been added successfully." />
<%} %>
<% if(SessionErrors.contains(renderRequest.getPortletSession(),
"student-add-error")){%>
<liferay-ui:error key= "student-add-error" message= "There is an
Error occured while adding student please try again" />
<%} %>
<h2>Add Student</h2>
<a href= "<%=homeURL.toString() %> ">Home</a><br/><br/>
<form action= "<%=addStudentActionURL%> " name= "studentForm" method= "POST">
<b>First Name</b><br/>
<input type= "text" name= "<portlet:namespace/> firstName" id= "<portlet:namespace/> firstName"/><br/>
<b>Last Name</b><br/>
<input type= "text" name= "<portlet:namespace/> lastName"
id= "<portlet:namespace/> lastName"/><br/>
<b>Age</b><br/>
<input type= "text" name= "<portlet:namespace/> studentAge" id= "<portlet:namespace/> studentAge"/><br/>
<b>Gender</b><br/>
<input type= "radio" name= "<portlet:namespace/> sex" value= "1">Male<br>
<input type= "radio" name= "<portlet:namespace/> sex" value= "0">Female<br/>
<b>Address</b><br/>
<textarea rows= "4" cols= "50" name= "<portlet:namespace/> address">
</textarea><br/>
<input type= "submit" name= "addStudent" id= "addStudent" value= "Add Student"/>
</form>
|
|
<%@page import= "com.liferay.portal.kernel.servlet.SessionErrors"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionMessages"%>
<%@page import= "com.meera.dbservice.service.StudentLocalServiceUtil"%>
<%@page import= "java.util.List"%>
<%@page import= "com.meera.dbservice.model.Student"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionErrors"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionMessages"%>
<%@ taglib uri= "http://liferay.com/tld/portlet" prefix= "liferay-portlet"%>
<%@ taglib uri= "http://liferay.com/tld/theme" prefix= "liferay-theme" %>
<%@ taglib uri= "http://liferay.com/tld/ui" prefix= "liferay-ui" %>
<%@ taglib uri= "http://java.sun.com/portlet_2_0" prefix= "portlet" %>
<portlet:defineObjects />
<portlet:renderURL var= "homeURL"></portlet:renderURL>
<portlet:actionURL var= "updateStudentActionURL" windowState= "normal"
name= "updateStudent">
</portlet:actionURL>
<portlet:actionURL var= "getStudentActionURL" windowState= "normal"name= "getStudent">
<portlet:param name= "cmd" value= "UPDATE"/>
</portlet:actionURL>
<h2>Update Student</h2>
<a href= "<%=homeURL.toString() %> ">Home</a><br/><br/>
<% if(SessionMessages.contains(renderRequest.getPortletSession(),"student-update-success")){%>
<liferay-ui:success key= "student-update-success" message= "Selected Student
information have been updated successfully." />
<%} %>
<% if(SessionErrors.contains(renderRequest.getPortletSession(),
"student-update-error")){%>
<liferay-ui:error key= "student-update-error" message= "There is an
Error occurred while updating student please try again" />
<%} %>
<%
List<Student> studentList=StudentLocalServiceUtil.
getStudents(0,StudentLocalServiceUtil.getStudentsCount());
Student selecteStudentObject=(Student)renderRequest.getAttribute("studentObject");
%>
<form action= "<%=getStudentActionURL.toString()%> " name= "studentForm" method= "POST">
<b>Select Student ID</b><br>
<select name= "<portlet:namespace/> studentId"onchange= "submitform(this.value);">
<option value= "-1">--select--</option>
<% for(Student student:studentList){%>
<option
value= "<%=student.getStudentId()%> "<%=selecteStudentObject!= null&&selecteStudentObject.getStudentId()== student.getStudentId()?"selected":""%>> <%=student.getStudentId()%></option>
<%} %>
</select><br>
<% if(selecteStudentObject!= null){%>
<b>First Name</b><br/>
<input type= "text" name= "<portlet:namespace/> firstName"
id= "<portlet:namespace/> firstName" value= "<%=selecteStudentObject.getFirstName()%> "/><br/>
<b>Last Name</b><br/>
<input type= "text" name= "<portlet:namespace/> lastName"
id= "<portlet:namespace/> lastName" value= "<%=selecteStudentObject.getLastName()%> "/><br/>
<b>Age</b><br/>
<input type= "text" name= "<portlet:namespace/> studentAge"
id= "<portlet:namespace/> studentAge" value= "<%=selecteStudentObject.getStudentAge()%> "/><br/>
<b>Gender</b><br/>
<input type= "radio" name= "<portlet:namespace/> sex"
value= "1"<%=selecteStudentObject.getStudentGender()==1?"checked":""%>>Male<br>
<input type= "radio" name= "<portlet:namespace/> sex"
value= "0"<%=selecteStudentObject.getStudentGender()==0?"checked":""%>>Female<br/>
<b>Address</b><br/>
<textarea rows= "4" cols= "50" name= "<portlet:namespace/> address">
<%=selecteStudentObject.getStudentAddress()%>
</textarea><br/>
<input type= "button" name= "updateStudent" id= "updateStudent"
value= "Update Student" onclick="updateStudentRecord();"/>
<%}%>
</form>
<script>
function submitform(selectedValue)
{
if(selectedValue!="-1"){
document.studentForm.submit();
}
}
function updateStudentRecord()
{
document.studentForm.action="<%=updateStudentActionURL.toString()%> "
document.studentForm.submit();
}
</script>
|
|
<%@page import= "com.liferay.portal.kernel.servlet.SessionErrors"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionMessages"%>
<%@page import= "com.meera.dbservice.service.StudentLocalServiceUtil"%>
<%@page import= "java.util.List"%>
<%@page import= "com.meera.dbservice.model.Student"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionErrors"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionMessages"%>
<%@ taglib uri= "http://liferay.com/tld/portlet" prefix= "liferay-portlet"%>
<%@ taglib uri= "http://liferay.com/tld/theme" prefix= "liferay-theme" %>
<%@ taglib uri= "http://liferay.com/tld/ui" prefix= "liferay-ui" %>
<%@ taglib uri= "http://java.sun.com/portlet_2_0" prefix= "portlet" %>
<portlet:defineObjects />
<portlet:renderURL var= "homeURL"></portlet:renderURL>
<portlet:actionURL var= "deleteStudentActionURL" windowState= "normal"
name= "deleteStudent">
</portlet:actionURL>
<portlet:actionURL var= "getStudentActionURL" windowState= "normal"
name= "getStudent">
<portlet:param name= "cmd" value= "DELETE"/>
</portlet:actionURL>
<h2>Delete Student</h2>
<a href= "<%=homeURL.toString() %> ">Home</a><br/><br/>
<% if(SessionMessages.contains(renderRequest.
getPortletSession(),"student-delete-success")){%>
<liferay-ui:success key= "student-delete-success" message= "Selected Student
information have been deleted successfully." />
<%} %>
<% if(SessionErrors.contains(renderRequest.getPortletSession(),
"student-delete-error")){%>
<liferay-ui:error key= "student-delete-error" message= "There is an Error occured
while deleting student please try again" />
<%} %>
<%
List<Student> studentList=StudentLocalServiceUtil.
getStudents(0,StudentLocalServiceUtil.getStudentsCount());
Student selecteStudentObject=(Student)renderRequest.getAttribute("studentObject");
%>
<form action= "<%=getStudentActionURL.toString()%> " name= "studentForm" method= "POST">
<b>Select Student ID</b><br>
<select name= "<portlet:namespace/> studentId"onchange= "submitform(this.value);">
<option value= "-1">--select--</option>
<% for(Student student:studentList){%>
<option
value= "<%=student.getStudentId()%> "<%=selecteStudentObject!= null&&selecteStudentObject.getStudentId()== student.getStudentId()?"selected":""%>> <%=student.getStudentId()%></option>
<%} %>
</select><br>
<% if(selecteStudentObject!= null){%>
Student Name:
<%=selecteStudentObject.getFirstName()+" "+ selecteStudentObject.getLastName()%> <br/>
Student Age: <%=selecteStudentObject.getStudentAge() %><br/>
Student Gender:<%=selecteStudentObject.getStudentGender()==1?"Male":"Famale" %>
<br/>
Address: <%=selecteStudentObject.getStudentAddress()%><br/>
<input type= "button" name= "deleteStudent" id= "addStudent" value= "Delete
Student" onclick="deleteStudentRecord();"/>
<%}%>
</form>
<script>
function submitform(selectedValue)
{
if(selectedValue!="-1"){
document.studentForm.submit();
}
}
function deleteStudentRecord()
{
document.studentForm.action="<%=deleteStudentActionURL.toString()%> "
document.studentForm.submit();
}
</script>
|
|
<%@page import= "com.liferay.portal.kernel.servlet.SessionErrors"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionMessages"%>
<%@page import= "com.meera.dbservice.service.StudentLocalServiceUtil"%>
<%@page import= "java.util.List"%>
<%@page import= "com.meera.dbservice.model.Student"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionErrors"%>
<%@page import= "com.liferay.portal.kernel.servlet.SessionMessages"%>
<%@ taglib uri= "http://liferay.com/tld/portlet" prefix= "liferay-portlet"%>
<%@ taglib uri= "http://liferay.com/tld/theme" prefix= "liferay-theme" %>
<%@ taglib uri= "http://liferay.com/tld/ui" prefix= "liferay-ui" %>
<%@ taglib uri= "http://java.sun.com/portlet_2_0" prefix= "portlet" %>
<portlet:defineObjects />
<portlet:renderURL var= "homeURL"></portlet:renderURL>
<portlet:actionURL var= "getStudentActionURL" windowState= "normal"name= "getStudent">
<portlet:param name= "cmd" value= "VIEW"/>
</portlet:actionURL>
<h2>Display Student Information</h2>
<a href= "<%=homeURL.toString() %> ">Home</a><br/><br/>
<%
List<Student> studentList=StudentLocalServiceUtil.
getStudents(0,StudentLocalServiceUtil.getStudentsCount());
Student selecteStudentObject=(Student)renderRequest.getAttribute("studentObject");
%>
<form action= "<%=getStudentActionURL.toString()%> " name= "studentForm" method= "POST">
<b>Select Student ID</b><br>
<select name= "<portlet:namespace/> studentId"onchange= "submitform(this.value);">
<option value= "-1">--select--</option>
<% for(Student student:studentList){%>
<option
value= "<%=student.getStudentId()%> "<%=selecteStudentObject!= null&&selecteStudentObject.getStudentId()== student.getStudentId()?"selected":""%>> <%=student.getStudentId()%></option>
<%} %>
</select><br>
<% if(selecteStudentObject!= null){%>
<h3>The following are the selected Student Information</h3><br/>
Student Name:
<%=selecteStudentObject.getFirstName()+" " +selecteStudentObject.getLastName()%><br/>
Student Age: <%=selecteStudentObject.getStudentAge() %><br/>
Student Gender:<%=selecteStudentObject.getStudentGender()==1?"Male":"Famale"%><br/>
Address: <%=selecteStudentObject.getStudentAddress()%> < br />
<%}%>
</form>
<script>
function submitform(selectedValue)
{
if(selectedValue!="-1"){
document.studentForm.submit();
}
}
</script>
|





