用struts的action运行jsp页面

struts是开源框架。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。

想要运行struts必须先创建一个struts,在struts里面建一个action包,我的包名为Classwork,结构如下图所示:

在Classwork下新建一个class 继承 ActionSupport 方法,代码如下:

package Classwork;

import com.opensymphony.xwork2.ActionSupport;

public class loginAction1 extends ActionSupport {

    @Override
    public String execute() throws Exception {
        return "ok";
//返回值为ok,应该与配置文件的一致 } }

然后配置文件Struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
        
       //这里的name用于最后的路径
        <action name="beanlogin" class="Classwork.loginAction1">
   //这里的name与action中的严格一致       
<result name="ok">/bean.jsp</result> </action> </package> <!-- <constant name="struts.i18n.encoding" value="gb2312"></constant> --> </struts>

最后webRoot下新建一个jsp页面bean.jsp,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'bean.jsp' starting page</title>
  

  </head>
  
    <body>
//这里的name是action的包名加类名
           <s:bean name="Classwork.loginAction1" id="stu">
               在bean标签内部可以直接输出:<br>
               <s:param name="name">周何骏</s:param>
               (1)第一种赋值方式:
               <s:property value="name"/><br>
               (2)第二种赋值方式:
             <!-- 该方法为参数赋值字符串必须加引号 -->
               <s:param name="name" value="'周何骏'"></s:param>
               <s:property value="name"/>
           </s:bean>
           <br>
           在bean标签外部利用id取值:
           <s:property value="#stu.name"/>
     </body>
</html>

然后运行action

 

这里需要注意的是路径问题;

最后的路径名应该是项目名+action包名+action的name.action

 

posted @ 2016-03-29 14:18  小小星火  阅读(503)  评论(2编辑  收藏  举报