`
swingboat
  • 浏览: 60332 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

struts及jstl使用问题集(一)

    博客分类:
  • java
阅读更多

1、ActionForm中的属性必须在<html:form></html:form>块中输出
struts-config.xml文件配置:
  <form-beans>
    <form-bean name="TestForm" type="yhp.test.struts.TestForm" />
  </form-beans>
<action-mappings>
    <action input="/test/teststruts.jsp" name="TestForm" path="/test/teststruts" scope="request" type="yhp.test.struts.TestAction" validate="false">
      <forward name="success" path="/test/teststruts.jsp" />
    </action> 
</action-mappings>
TestForm.java文件(两个属性):
package yhp.test.struts;
import org.apache.struts.action.*;
public class TestForm extends ActionForm{
    private String message;
    private String data;
    public String getData() {
        return data;
    }
    public void setData(String data) {
        this.data = data;
    }
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
}
TestAction.java文件:
public ActionForward execute(ActionMapping actionMapping,
            ActionForm actionForm, HttpServletRequest httpServletRequest,
            HttpServletResponse httpServletResponse) throws Exception {
        if(actionForm instanceof TestForm){
         TestForm form=(TestForm)actionForm;
         form.setMessage("Test Struts!");
         form.setData("Return data is YHP");
        }
        return actionMapping.findForward("success");       
    }
teststruts.jsp文件:
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%
String contextPath = request.getContextPath();
response.setLocale(java.util.Locale.CHINA);
%>
<html>
 <head>
 </head> 
<body>
<html:form action="/test/teststruts.do" styleId="formItem" method="post">
   <html:text  property="message"/><br>
   <html:text  property="data"/><br>
</html:form>
</body>
</html>
说明:没有红色部分代码,后台会报出Cannot find bean org.apache.struts.taglib.html.BEAN in any scope的错误信息。这样说明struts中ActionForm的数据是基于html中对应form的数据。
2、不利用struts标签输出ActionForm的属性值
<%@ page import="yhp.test.struts.TestForm"%>
<%
TestForm form=(TestForm)request.getAttribute("TestForm");//ActionForm类名
%>
<html>
 <head>
 </head> 
<body>
<html:form action="/test/teststruts.do" styleId="formItem" method="post">
   <html:text  property="message"/><br>
   <html:text  property="data"/><br>
 <%=form.getMessage()%><br>
</html:form>
</body>
</html>
3、通过JSTL输出ActionForm中的属性值
利用JSTL输出AcitonForm中的属性值:<c:out value="${TestForm.data}" /><br>
利用JSTL输出AcitonForm中的属性值:<c:out value="${requestScope.TestForm.data}" /><br> 
红色的字是ActionForm类名,两句的结果是一样的
说明:struts把ActionForm写入了requestScope中,类名作为requestScope的名字。
即:httpServletRequest.setAttribute("TestForm",actionForm);
<c:out value="${requestScope.TestForm.data}" />  也就是输出一个bean的属性值。

分享到:
评论
2 楼 tacyuuhon 2013-01-08  
说明:struts把ActionForm写入了requestScope中,类名作为requestScope的名字。
即:httpServletRequest.setAttribute("TestForm",actionForm);
<c:out value="${requestScope.TestForm.data}" />  也就是输出一个bean的属性值。

----------------------------
↑一派胡言
1 楼 tacyuuhon 2013-01-08  
说明:struts把ActionForm写入了requestScope中,类名作为requestScope的名字。
即:httpServletRequest.setAttribute("TestForm",actionForm);
<c:out value="${requestScope.TestForm.data}" />  也就是输出一个bean的属性值。

相关推荐

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...

    姓名_javaEE软件工程师_2年_模板(42).doc

    - 熟练掌握 Hibernate 框架,包括一对多及多对多的对象关系映射、延迟加载、数据缓存(一级缓存、二级缓存和查询缓存)、抓取策略和 HQL 等技术。 6. Spring 框架: - 熟练掌握 Spring 框架,包括 IOC 和 DI、AOP...

    SSH基于Eclipse实现Web层的分页功能源代码

    教学-传智播客-项目视频经典之作巴巴运动网106集-27实现Web层的分页功能源代码 所需要的jar文件: (一)、Hibernate: 位于 "\hibernate-distribution-3.3.2.GA" 目录下的jar文件: hibernate3.jar 位于 "\...

    实现Web层的分页功能源代码

    教学-传智播客-项目视频经典之作巴巴运动网106集-27实现Web层的分页功能源代码 所需要的jar文件: (一)、Hibernate: 位于 "\hibernate-distribution-3.3.2.GA" 目录下的jar文件: hibernate3.jar 位于 "\...

    将Web层分页封装成通用模块源代码

    教学-传智播客-项目视频经典之作巴巴运动网106集-28将Web层分页封装成通用模块源代码 所需要的jar文件: (一)、Hibernate: 位于 "\hibernate-distribution-3.3.2.GA" 目录下的jar文件: hibernate3.jar 位于 "\...

    SSH基于Eclipse将Web层分页封装成通用模块

    教学-传智播客-项目视频经典之作巴巴运动网106集-28将Web层分页封装成通用模块源代码 所需要的jar文件: (一)、Hibernate: 位于 "\hibernate-distribution-3.3.2.GA" 目录下的jar文件: hibernate3.jar 位于 "\...

    姓名_javaEE软件工程师_2年_模板(47).doc

    * 熟练掌握 Struts 2 框架及其高级特性,包括拦截器、结果集、值栈、OGNL、表单验证以及 Struts2+AJAX 等技术 * 熟练掌握 Hibernate 框架,包括一对多及多对多的对象关系映射以及延迟加载、数据缓存(一级缓存、二级...

    达内java培训目录

    Servlet/JSP Servlet生命周期及Servlet服务器、Tomcat部署配置、JSP语法、自定义标记、JSTL和EL表达式、JSP 新特性、Java Web 设计模式。 透彻理解Servlet核心原理;熟练掌握Servlet API;透彻理解JSP引擎工作原理;...

    Java Web开发常用jar工具集

    包含ipseeker-1.0.jar,derby.jar, jsp-api.jar, javax.servlet.jar, annotations-api.jar, jstl.jar, log4j-1.2.17.jar, mysql-connector-java-5.1.7-bin.jar, servlet-api.jar, standard.jar, struts2-dojo-plugin-...

    Java Web编程宝典

    全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...

    java开源包8

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    ASP.NET编程宝典光盘源码

    全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...

    java jar包 全集

    spring、struts 2、mybatis、hibernate、jdbc、jstl、dom4j、dbcp、c3po所有jar包资源,请各位大大以及需要用到jar包的童鞋们采纳,谢谢!

    java开源包1

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包11

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包2

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    ASP.NET编程宝典(十年典藏版)》光盘源码1

    全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...

Global site tag (gtag.js) - Google Analytics