This is my jsp code:
%@ page import="java.io.File,
org.dom4j.Document,
org.dom4j.Element,
org.dom4j.io.SAXReader" %>
lt%
// get the parameters:
int id = 0;
try
{
id = Integer.parseInt( request.getParameter("id") );
} catch ( NumberFormatException ne ) {}
String name = request.getParameter("name");
String school = request.getParameter("school");
String centre = request.getParameter("centre");
String staffcategory = request.getParameter("staffcategory");
String staffinvolvement = request.getParameter("staffinvolvement");
String areasofresearch = request.getParameter("areasofresearch");
String qualifications = request.getParameter("qualifications");
String citizenship = request.getParameter("citizenship");
String staffparticulars = request.getParameter("staffparticulars");
// parse the document:
SAXReader reader = new SAXReader();
String path = application.getRealPath("/ViewStaff_list.xml");
Document
doc = reader.read( new File(path) );
if ( id == 0 )
{
// if we have a new project then we generate the id by
// adding 1 to the ID of the last node:
java.util.List list = doc.selectNodes( "//staff-list/staff" );
org.dom4j.Node lastStaff = (org.dom4j.Node) list.get( list.size()-1 );
id = Integer.parseInt( lastStaff.valueOf("@id") ) + 1;
// create the new element
Element newStaff = doc.getRootElement().addElement( "staff" )
.addAttribute( "id", Integer.toString(id) );
newStaff.addElement("name").addText(name);
newStaff.addElement("school").addText(school);
newStaff.addElement("centre").addText(centre);
newStaff.addElement("staffcategory").addText(staffcategory);
newStaff.addElement("staffinvolvement").addText(staffinvolvement);
newStaff.addElement("areasofresearch").addText(areasofresearch);
newStaff.addElement("qualifications").addText(qualifications);
newStaff.addElement("citizenship").addText(citizenship);
newStaff.addElement("staffparticulars").addText(staffparticulars);
}
else
{
// we locate the project that we are going to modify
Element staff = (Element) doc.selectSingleNode( "//staff-list/staff[@id=" + id + "]" );
// and then we modify the values
staff.selectSingleNode( "name" ).setText(name);
staff.selectSingleNode( "school" ).setText(school);
staff.selectSingleNode( "centre" ).setText(centre);
staff.selectSingleNode( "staffcategory" ).setText(staffcategory);
staff.selectSingleNode( "staffinvolvement" ).setText(staffinvolvement);
staff.selectSingleNode( "areasofresearch" ).setText(areasofresearch);
staff.selectSingleNode( "qualifications" ).setText(qualifications);
staff.selectSingleNode( "citizenship" ).setText(citizenship);
staff.selectSingleNode( "staffparticulars" ).setText(staffparticulars);
}
// write the file:
java.io.FileWriter output = new java.io.FileWriter( path );
doc.write( output );
output.close();
%>
This my jsp_java code:
package org.apache.jsp;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import org.apache.jasper.runtime.*;
import java.io.File;
import java.util.*;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class SaveStaff_jsp extends HttpJspBase {
private static java.util.Vector _jspx_includes;
public java.util.List getIncludes() {
return _jspx_includes;
}
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
JspFactory _jspxFactory = null;
javax.servlet.jsp.PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html;charset=ISO-8859-1");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;
out.write("\r\n");
out.write("\r\n");
out.write("\r\n");
out.write("\r\n");
out.write("\r\n\r\n");
// get the parameters:
int id = 0;
try
{
id = Integer.parseInt( request.getParameter("id") );
} catch ( NumberFormatException ne ) {}
String name = request.getParameter("name");
session.setAttribute("staff", name);
String school = request.getParameter("school");
session.setAttribute("staff", school);
String centre = request.getParameter("centre");
session.setAttribute("staff", centre);
String staffcategory = request.getParameter("staffcategory");
session.setAttribute("staff", staffcategory);
String staffinvolvement = request.getParameter("staffinvolvement");
session.setAttribute("staff", staffinvolvement);
String areasofresearch = request.getParameter("areasofresearch");
session.setAttribute("staff", areasofresearch);
String qualifications = request.getParameter("qualifications");
session.setAttribute("staff", qualifications);
String citizenship = request.getParameter("citizenship");
session.setAttribute("staff", citizenship);
String staffparticulars = request.getParameter("staffparticulars");
session.setAttribute("staff", staffparticulars);
// parse the document:
SAXReader reader = new SAXReader();
String path = application.getRealPath("/ViewStaff_list.xml");
Document doc = reader.read( new File(path) );
if ( id == 0 )
{
// if we have a new project then we generate the id by
// adding 1 to the ID of the last node:
java.util.List list = doc.selectNodes( "//staff-list/staff" );
org.dom4j.Node lastStaff = (org.dom4j.Node) list.get( list.size()-1 );
id = Integer.parseInt( lastStaff.valueOf("@id") ) + 1;
// create the new element
Element newStaff = doc.getRootElement().addElement( "staff" )
.addAttribute( "id", Integer.toString(id) );
if(name != null) {
newStaff.addElement("name").addText(name);
}else {
newStaff.addElement("name").addText("");
}
if(school != null) {
newStaff.addElement("school").addText(school);
}else {
newStaff.addElement("school").addText("");
}
if(centre != null) {
newStaff.addElement("centre").addText(centre);
}else {
newStaff.addElement("centre").addText("");
}
if(staffcategory != null) {
newStaff.addElement("staffcategory").addText(staffcategory);
}else {
newStaff.addElement("staffcategory").addText("");
}
if(staffinvolvement != null) {
newStaff.addElement("staffinvolvement").addText(staffinvolvement);
}else {
newStaff.addElement("staffinvolvement").addText("");
}
if(areasofresearch != null) {
newStaff.addElement("areasofresearch").addText(areasofresearch);
}else {
newStaff.addElement("areasofresearch").addText("");
}
if(qualifications != null) {
newStaff.addElement("qualifications").addText(qualifications);
}else {
newStaff.addElement("qualifications").addText("");
}
if(citizenship != null) {
newStaff.addElement("citizenship").addText(citizenship);
}else {
newStaff.addElement("citizenship").addText("");
}
if(staffparticulars != null) {
newStaff.addElement("staffparticulars").addText(staffparticulars);
}else {
newStaff.addElement("staffparticulars").addText("");
}
}
else
{
// we locate the project that we are going to modify
Element staff = (Element) doc.selectSingleNode( "//staff-list/staff[@id=" + id + "]" );
// and then we modify the values
staff.selectSingleNode( "name" ).setText(name);
staff.selectSingleNode( "school" ).setText(school);
staff.selectSingleNode( "centre" ).setText(centre);
staff.selectSingleNode( "staffcategory" ).setText(staffcategory);
staff.selectSingleNode( "staffinvolvement" ).setText(staffinvolvement);
staff.selectSingleNode( "areasofresearch" ).setText(areasofresearch);
staff.selectSingleNode( "qualifications" ).setText(qualifications);
staff.selectSingleNode( "citizenship" ).setText(citizenship);
staff.selectSingleNode( "staffparticulars" ).setText(staffparticulars);
}
// write the file:
java.io.FileWriter outWriter = new java.io.FileWriter( "ViewStaff_list.jsp" );
doc.write( outWriter );
outWriter.close();
out.write("\r\n\r\n");
out.write("<html>\r\n ");
out.write("<head>\r\n ");
out.write("<title>Success");
out.write("</title>\r\n ");
out.write("</head>\r\n ");
out.write("<body background = \"brown.jpg\">");
out.write("<font size=\"7\">\r\n");
out.write("<center>\r\n");
out.write("<br>\r\n");
out.write("<br>\r\n Staff list successfully saved.\r\n\r\n");
out.write("<br>\r\n ");
out.write("<hr>\r\n");
out.write("<br>\r\n ");
out.write("<a href=\"ViewStaff_list.jsp\">Back to Staff List");
out.write("</a> \r\n ");
out.write("<a href=\"EditStaff.jsp\">Add another record");
out.write("</a>\r\n");
out.write("<br>\r\n");
out.write("<hr>");
out.write("</font>\r\n ");
out.write("</body>\r\n");
out.write("</html>");
} catch (Throwable t) {
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (pageContext != null) pageContext.handlePageException(t);
} finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
}
}
}
Thanx..