ZhangLiHai.Com

用struts开发MVC程序入门(三)

2003-11-14 9:48:46


接上;


[b]Listing A:[/b]
[code]xml version="1.0" encoding="ISO-8859-1"?>
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

[/code]
[b]
Listing B:[/b]
[code]


action
org.apache.struts.action.ActionServlet

config
/WEB-INF/struts-config.xml


application
ApplicationResources


debug
2


detail
2


validate
true

1

[/code]
[b]
Listing C:[/b]
[code]


action
*.action

[/code]
[b]
Listing D:[/b]
[code]


bloggerLogin.jsp


/WEB-INF/struts-html.tld
/WEB-INF/struts-html.tld


/WEB-INF/struts-bean.tld
/WEB-INF/struts-bean.tld


/WEB-INF/struts-logic.tld
/WEB-INF/struts-logic.tld


[/code]
Listing E:
[code]

"-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">


Listing F:





Listing G:
















[/code]
Listing H:
[code]
<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>





















[/code]

-----------------------------------------------------------------

Listing I:
[code]
info.username=Username
info.password=Password
info.blogid=Blog Id
info.updateblog=Update Blog by FTP?

Listing J:
package xmlrpc;
import org.apache.struts.action.ActionForm;
public class bloggerUserForm extends ActionForm {
protected String username;
protected String password;
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public void reset() {
username = null;
password = null;
}
}
[/code]
Listing K:
[code]
package xmlrpc;

import java.util.Vector;
import java.util.Hashtable;
import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.FileOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
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.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ForwardingActionForward;
/**
* This action performs the login, and passes the user on to the post screen
*/
public class bloggerUserAction extends Action {

Listing L:
public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
HttpSession session = request.getSession();
if (form instanceof bloggerUserForm) {
bloggerUserForm theForm = (bloggerUserForm) form;
[/code]
Listing M:
[code]
String username = theForm.getUsername();
String password = theForm.getPassword();
request.setAttribute("username", username);
request.setAttribute("password", password);
[/code]
Listing N:
[code]
bloggerUser user = (bloggerUser) session.getAttribute("b_user");
if (user == null) {
user = new bloggerUser();
}
user.setUsername(username);
user.setPassword(password);
[/code]
Listing O:
[code]
//List Vectors to make a userinfo request
Vector params = new Vector();
params.addElement(bloggerUser.APP_KEY);
params.addElement(username);
params.addElement(password);
xmlRequest xmlrpc = new xmlRequest();
xmlrpc.setParams(params);
xmlrpc.setXmlRequestUrl(bloggerUser.blogger_url);
xmlrpc.setMethod("blogger.getUsersBlogs");
try {
Vector result = (Vector) xmlrpc.getResult();
for (int i=0; i < result.size(); i++) {
System.out.println((String) ((Hashtable) result.get(i)).get("blogid"));
user.addBlog((String) ((Hashtable) result.get(i)).get("blogid"));
}
} catch (Exception e) {
ActionErrors errors = new ActionErrors();
errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("Blogger Error: " + e));
saveErrors(request, errors);
return mapping.findForward("bloggerError");
}
[/code]
Listing P:
[code]
session.setAttribute("b_user", user);
//return a forward to display.jsp
return mapping.findForward("bloggerPost");
}
//this shouldn't happen in this example
return null;
}
}
[/code]
Listing Q:
[code]
<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>








[/code]
Listing R:
[code]


















[/code]
Listing S:
[code]











[/code]