用struts开发MVC程序入门(三)2003-11-14 9:48:46
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] [/code] [b] Listing C:[/b] [code] [/code] [b] Listing D:[/b] [code] [/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] |
||||||||||||||||||
|
|