Struts学习笔记

Struts的学习笔记

1.Struts是一个框架(framework)
2.Struts是一个web框架
3.Struts是一个开源的框架

struts的原理图

setXxxx
getXxxx
属性名首字母要大写

1.使用filter配合Struts解决中文乱码问题
步骤如下,开发一个过滤器,并设置request.setCharacterEncoding("utf-8");
核心代码: request. setCharacterEncoding ( "utf-8" ); //设置接收编码
        chain.doFilter(request, response);//必须的
在web.xml中配置
 
   
   
  <filter>
        <filter-name>MyFilter1</filter-name>
        <filter-class>com.liheng.filter.MyFilter1</filter-class>
    </filter>  
    <filter-mapping>
        <filter-name>MyFilter1</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>  


2.Struts-config.xml文件的配置
     
     
<!-- scope="request" 表示该action对应的表单对象的生命周期request = request.setAttribute("userForm",userForm)-->
    <!-- scope="session" 表示该action对应的表单对象的生命周期request = request.getSession.setAttribute("userForm",userForm)-->
    <!-- scope 这个值默认是session -->  

3.action是单态的(对网站的并发性处理有影响),包括actionsverlet
   单态是指在整个程序的运行过程中始终是一个对象在为你服务。
4.Struts-config.xml文件的路径不一定要在/web-inf下面。
5.在一个项目中,可不可以有多个Struts的配置文件?
   答:可以有。
Struts的标签技术
jstl(jsp standard tag libaray)jsp标准标签库
常用标签:
c标签:
<c:out>案例:
    
    
<%
      pageContext.setAttribute("abc", "你好");
      request.setAttribute("abc", "你好1");
      session.setAttribute("abc", "你好2");
      application.setAttribute("abc", "你好3");
      
      User user = new User();
      user.setUsername("小明");
      user.setPassword("123");
      request.setAttribute("user1", user);
   %>
  <body> 
      <h1>如何输出pageContext/request/sessionapplication域对象的数据</h1>
    <c:out value="hello,world"></c:out>
    <c:out value="${abc}"></c:out>
    
    <h1>如何输出对象的值</h1>
    <c:out value="${user1.username}"></c:out>||<c:out value="${user1.password }"></c:out><br>
    ${user1.username}@@${user1.password*20}  
<s:set>标签:
 <c:set var="abc" value="中国 ,北京" scope="request"></c:set>
    <%
        /* //上面的标签等价于以下的代码
        request.setAttribute("abc", "中国,北京"); */
     %>
    <c:out value="${abc }"></c:out>  
<c:remove>标签
 <%
        request.setAttribute("a", "你好");
     %>
     <h1>输出</h1>
     <c:out value="${a }"></c:out>
     <h1>remove</h1>
     <c:remove var="a"/>
     <c:out value="${a }" default="没有了"></c:out>  
<c:catch>标签:
    <h1>c_catch的使用</h1>
    <c:catch var = "myexception">
        <%int i = 8/0; %>
    </c:catch>
    <c:out value="${myexception}"></c:out>  
<c:if>标签:
    <%
          request.setAttribute("a", "hello");
       %>
    <h1>c_if的使用</h1>
    <c:if test="${a=='hello' }">
        ok!
    </c:if>
    <c:if test="${a!='hello' }">
        no ok!
    </c:if>  
<c:choose>
<c:foreach>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半路笙歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值