📄 737_4.asp.htm
字号:
Context ctx = getInitialContext();
try{
Object object = ctx.lookup("BookControl");
BookControlHome bookcHome = (BookControlHome) PortableRemoteObject.narrow(object,
BookControlHome.class);
control = bookcHome.create();
}catch(Exception e){
e.printStackTrace();
}
return control;
}
}</textarea><br>[Ctrl+A 全部选择 然后拷贝]</p>
<p> 接着我们编写LyListAction.java文件,得到所有的留言信息LIST。<br><strong>LyListAction.java的源代码:<br></strong><textarea class="codeTextarea">package guestbook.maxuan.action;
import javax.naming.*;
import java.util.Properties;
import javax.rmi.PortableRemoteObject;
import java.util.*;
import java.util.Locale;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ForwardingActionForward;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.MessageResources;
import guestbook.maxuan.ejb.control.*;
public class LyListAction extends PAction{
public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
Locale locale = getLocale(request);
HttpSession session = request.getSession();
Context ctx = (Context)session.getAttribute("ctx");
if(ctx==null){
ctx = getInitialContext();
session.setAttribute("ctx",ctx);
}
try{
Object object = ctx.lookup("BookControl");
BookControlHome bookHome = (BookControlHome) PortableRemoteObject.narrow(object,
BookControlHome.class);
BookControl bookControl = bookHome.create();
ArrayList lyList = bookControl.getLyList();
session.setAttribute("lyList",lyList);
}catch(Exception e){
e.printStackTrace();
}
return (mapping.findForward("success"));
}
}</textarea><br>[Ctrl+A 全部选择 然后拷贝]</p>
<p> 由于我们需要新加留言,所以这次比上次的EJB教程多出了存储部份,留言需要一个FORM来提交,最后进行存储,所以我们需要新加入LyForm.java、LyEditAction.java、LySaveAction.java三个文件的编写。<br><strong>LyForm.java的源代码:<br></strong><textarea class="codeTextarea">package guestbook.maxuan.action;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import guestbook.maxuan.ejb.entity.value.*;
public final class LyForm extends ActionForm{
public String action="add";
public String name;
public String email;
public String qq;
public String comment;
private BookValue value = new BookValue();
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public BookValue getValue(){
value.setName(name);
value.setEmail(email);
value.setQq(qq);
value.setComment(comment);
value.setAction(action);
return value;
}
public void setValue(BookValue value){
name = value.getName();
email = value.getEmail();
qq = value.getQq();
comment = value.getComment();
action = value.getAction();
}
}</textarea><br>[Ctrl+A 全部选择 然后拷贝]</p>
<p><strong>LyEditAction.java的源代码:</strong><br><textarea class="codeTextarea">package guestbook.maxuan.action;
import javax.naming.*;
import java.util.Properties;
import java.util.*;
import javax.rmi.PortableRemoteObject;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import java.util.Vector;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.MessageResources;
import guestbook.maxuan.action.PAction;
import guestbook.maxuan.ejb.entity.value.*;
import guestbook.maxuan.ejb.entity.*;
import guestbook.maxuan.ejb.control.*;
import java.util.Collection;
public class LyEditAction extends PAction{
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
Locale locale = getLocale(request);
MessageResources messages = getResources(request);
HttpSession session = request.getSession();
String action = request.getParameter("action");
Context ctx = (Context)session.getAttribute("ctx");
BookValue value =(BookValue) request.getAttribute("value");
//errors.clear();
if (form == null) {
form = new LyForm();
if ("request".equals(mapping.getScope())) {
request.setAttribute(mapping.getAttribute(), form);
} else {
session.setAttribute(mapping.getAttribute(), form);
}
}
if(ctx==null){
ctx = getInitialContext();
session.setAttribute("ctx",ctx);
}
LyForm lyForm = (LyForm) form;
if(action!=null){
lyForm.setAction(action);
}
if (value!=null){
try {
PropertyUtils.copyProperties(lyForm, value);
} catch (Exception e) {
}
}
return (mapping.findForward("success"));
}
}</textarea><br>[Ctrl+A 全部选择 然后拷贝]</p>
<p><strong>LySaveAction.java的源代码:</strong><br><textarea class="codeTextarea">package guestbook.maxuan.action;
import javax.naming.*;
import java.util.Properties;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -