struts1.2一些知识
来源:互联网 发布:软件流量好用吗 编辑:程序博客网 时间:2024/05/21 07:54
struts1.2包括相关文件:
struts-config.xml 接收action通过mapping传过来的forward,并通过对应的forward转向不同的页面
Action 处理程序 action可以继承Action,也可以继承DispatchAction
FormBean 用于把封装form表单中的数据
struts1.2工作流程
1,含输入页面,也就是form表单
首先访问form表单页,把form表单页提交到相应的action里,然后在action里通过对应FormBean把form强制转换然后用FormBean接收,
然后把formbean传到相应方法里,然后通过return mapping.findForward("");转到struts-config.xml里对应的forward,然后转向页面,
例如:
1,struts-config.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config> <data-sources /> <form-beans > <form-bean name="wordsForm" type="com.company.form.WordsForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action attribute="wordsForm" name="wordsForm" path="/words" scope="request" parameter="method" type="com.company.action.WordsAction"> <forward name="words" path="/form.jsp" /> </action> </action-mappings> <message-resources parameter="com.company.struts.ApplicationResources" /></struts-config>在struts-config.xml文件里 一个action对应一个formBean
2,WordsForm.java文件如下:
package com.company.form;import java.util.Date;import org.apache.struts.action.ActionForm;public class WordsForm extends ActionForm {private static final long serialVersionUID = -686042683660710968L;private Integer id;private String name;private String content;private Date postTime;private String email;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 Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getContent() {return content;}public void setContent(String content) {this.content = content;}public Date getPostTime() {return postTime;}public void setPostTime(Date postTime) {this.postTime = postTime;}}
3,WordsDao.java接口类
public interface WordsDao {public void insertSave(WordsForm wordsForm); //更新和插入}
4,WordsDaoImp.java对应的方法
public class WordsDaoImp extends DB implements WordsDao {
@Override
public void insertSave(WordsForm wordsForm) {String sql = "";if (wordsForm.getId() != null) {sql = "update words set name=?,content=?,postTime=?,email=? where id=?";this.update(sql,new Object[] { wordsForm.getName(),wordsForm.getContent(), new Date(),wordsForm.getId(),wordsForm.getEmail()});} else {sql = "insert into words(name,content,id,postTime,email) values(?,?,?,?,?)";this.insert(sql,new Object[] { wordsForm.getName(),wordsForm.getContent(), wordsForm.getId(),new Date(),wordsForm.getEmail() });}}
}5,WordsAction.java类
package com.company.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction;import com.company.dao.WordsDao;import com.company.dao.imp.WordsDaoImp;;import com.company.form.WordsForm;public class WordsAction extends DispatchAction {WordsDao wordsDao = new WordsDaoImp();//添加留言public ActionForward insertWord(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {request.setCharacterEncoding("utf-8");WordsForm wordsForm = (WordsForm)form; //用WordsForm强制转换form表单wordsDao.insertSave(wordsForm); //把wordsForm添加到对应方法里return mapping.findForward("words"); //转向对应mapping中的forward}}
6,输入页,form表单页 form.jsp文件如下:
<form action="words.do?method=insertWord" id="form" method="post"><table width="398"> <tr><td height="25" align="left" valign="top"> <input name="name" id="name" type="text" value="您的称呼:" onBlur="if (value ==''){value='您的称呼:'}"></td> </tr> <tr> <td height="25" align="left" valign="top"> <input name="email" id="email" type="text"onfocus="if (value =='您的邮箱:'){value =''}" onBlur="if (value ==''){value='您的邮箱:'}"> </td> </tr> <tr><td> <textarea name="content" id="content" overflow:auto" onfocus="if (value =='请输入内容:'){value =''}" onBlur="if (value ==''){value='请输入内容:'}"></textarea></td> </tr></table></form>
然后访问form表单页就可以运行了
2,不含form表单页的流程:
其实大致都是一样的,只不过直接要访问action地址,然后直接处理,比如你要输出内容直接在action里处理,然后用request.setAttribute("name",调用方法);把name传到页面上,然后在相应的页面上用bean标签或者logic标签直接输出就可以了
如果需要把id传值到相应页面上然后访问,那么就要通过超链接里把id传过去
例如:<a href="dongtai.do?method=dongtai&id=<bean:write name="dongtai" property="id" />"><bean:write name="dongtai" property="title" /> </a>
就可以把id传到相应的页面上,然后在action里用String id= request.getParameter("id");接收,然后把id传到相应的方法里,然后就可以了!
- struts1.2一些知识
- Struts1.2入门知识
- struts1知识
- Struts1.2使用的一些总结
- struts1 方面的知识
- struts1 知识总结
- Struts1.2
- 一些知识
- 一些知识
- 一些知识。。。
- 关于struts1的相关知识学习
- C/C++一些知识2(指针)
- Ubuntu12.04 的一些知识(2)
- java的一些网络知识2
- javascript的一些小知识2
- View的一些小知识2
- 测试struts1遇到的一些问题
- struts1.x 与 struts2 的一些差异
- HOWTO do Linux kernel development
- 大话设计模式之装饰模式(小菜扮靓)
- WINCE驱动编写
- 数据库学习笔记(三)--SQL语句
- 数据化营销
- struts1.2一些知识
- Android--判断发送短信后的状态/发送成功Or发送失败
- ubuntu 12.04 install flash for firefox
- ltr_558als 光线传感器和接近传感器 probe 后默认开启导致的系统无法休眠
- Objective-c基础(一)
- 「学习总结-Haskell-5」Haskell 重要概念——函数
- 电容读法
- stop与suspend区别
- WINCE Driver 心得总结