首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

初学Struts2的几个小问题

2013-06-26 
初学Struts2的几个问题首先,看看我的struts.xml:?xml version1.0 encodingUTF-8 ?!DOCTYPE strut

初学Struts2的几个问题
首先,看看我的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="zxw_02" namespace="/zxw_nsp_02" extends="struts-default">
<action name="zxw_action_01" class="com.action.HelloWorld" method="execute">
<result name="success">/page/hello.jsp</result>
</action>
</package>
</struts>


这是hello.jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
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></head>
  <body>
    This is my JSP page.${message2 }.${message }<br>
  </body>
</html>

---------------------------问题1---------------------------------
问题1:
其实我很不理解<result>标签的作用,这里<result name="success">中的name好像不需要也可以?
-----------------------------

再接着看我的HelloWorld.java:
package com.action;
public class HelloWorld {
privateStringmessage;
privateStringmessage2;
publicStringexecute(){
message="+ gsgs +";
message2 = "Congratulation!";
return "success";
}
publicvoidsetMessage2(String msg){
this.message2 = msg;
}
publicStringgetMessage2(){
return this.message2;
}
}

这里的结果,是This is my JSP page.Congratulation?.

---------------------------问题2:---------------------
问题2:
   为什么没有输出message,而输出了message2 ???
------------------------------------------------------

---------------------------问题3:--------------------
问题3:
   为什么我在HelloWorld.java中加入了getMessage(){return message;}方法后,就可以显示message了呢?

-----------
新手提前谢过 ... 
[解决办法]
message没有get  set方法,result如果你不设置名字  你看你action里面还能返回到这个页面么,设置name的作用就是你return “success”  这个success就是要和name对应才能跳到相应页面
[解决办法]
解答1 <result../>默认包含 name="success" ,不必写
解答2 没有为message 提供setter方法---这里是反射机制,并通过拦截器parames获得的值
解答3:第三个没看懂问得是什么意思
[解决办法]
引用:
Quote: 引用:

message没有get  set方法,result如果你不设置名字  你看你action里面还能返回到这个页面么,设置name的作用就是你return “success”  这个success就是要和name对应才能跳到相应页面



那个,<result name=thisName>,这里的thisName不是自定义的不?<result name="success">只有一个啊,那么怎么跳?是不是每一个action只有一个<result name>来区分各个对应的name来跳转页面?

这里的name里你随便定义,反正他都对应一个结果页面,也可以是一个action,就是对应一个跳转,你action不是里面方法都有一个return么,  return到哪个结果集就用哪个name,在这个配置里面可以配置多个result的
[解决办法]
message 是次要的 setMessage()和getMessage()才是主要的,系统是根据setter和getter来处理http请求参数的。message名字甚至可以随便写,但是setMessage()和getMessage()两个方法必须按照规矩去写,否则action无法处理名为message的参数
[解决办法]
引用:
Quote: 引用:

message 是次要的 setMessage()和getMessage()才是主要的,系统是根据setter和getter来处理http请求参数的。message名字甚至可以随便写,但是setMessage()和getMessage()两个方法必须按照规矩去写,否则action无法处理名为message的参数



我发现.xml配置文件真的很重要,问题是,我根本不知道配置文件中有哪些标签,在语言里我们有那个api,可以查一查,那么,.xml配置文件有没有相应的api或者说开发文档啊?能不能推荐下 ???


恩,我也觉得,用这些个框架做开发中大量的工作都在配置文件中配置完成了,专门讲配置文件中的标签的文档我没见过,我觉得如果有时间的话还是找本好书系统学习一下框架知识,不管是spring还是struts,只知道配置文件中标签的用法都是不够的,主要是得了解机制和原理,不然很难真正理解。我现在在看李刚的《轻量级JavaEE企业应用实战(第三版)——Struts2+Spring+Hibernate整合开发》。。。。讲得很十分细致
[解决办法]
楼主你好。
问题1:<result name="success"> 中当name="success"时,可以不写。
问题2:在HelloWorld?这个action中没有给message 提供setter、getter方法。
问题3:问题2已经回答了。
楼主你问的问题太基础了哦,建议先看看书,多写写基础程序,暂时不要细扣,能大概跑出个结果来。
[解决办法]
引用:
Quote: 引用:

楼主你好。
问题1:<result name="success"> 中当name="success"时,可以不写。
问题2:在HelloWorld?这个action中没有给message 提供setter、getter方法。
问题3:问题2已经回答了。
楼主你问的问题太基础了哦,建议先看看书,多写写基础程序,暂时不要细扣,能大概跑出个结果来。


呵呵,这位朋友说的是。
不过,咱别嫌我啰嗦一句,就是之前和楼上朋友说话时说到的,【我发现.xml配置文件真的很重要,问题是,我根本不知道配置文件中有哪些标签,在语言里我们有那个api,可以查一查,那么,.xml配置文件有没有相应的api或者说开发文档啊?能不能推荐下 ???】
   希望你能推荐下。谢谢!!!


有的,struts2给的官方文档,是最最正宗的api,不过不要细扣,里面有的是极其生僻的,大多数还是有用的。所以说,刚开始接触的,先跑个登录页面,或者添加页面试试,然后根据xml中的标签去文档中找,慢慢的就熟悉了。
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

楼主你好。
问题1:<result name="success"> 中当name="success"时,可以不写。
问题2:在HelloWorld?这个action中没有给message 提供setter、getter方法。
问题3:问题2已经回答了。
楼主你问的问题太基础了哦,建议先看看书,多写写基础程序,暂时不要细扣,能大概跑出个结果来。


呵呵,这位朋友说的是。
不过,咱别嫌我啰嗦一句,就是之前和楼上朋友说话时说到的,【我发现.xml配置文件真的很重要,问题是,我根本不知道配置文件中有哪些标签,在语言里我们有那个api,可以查一查,那么,.xml配置文件有没有相应的api或者说开发文档啊?能不能推荐下 ???】
   希望你能推荐下。谢谢!!!


有的,struts2给的官方文档,是最最正宗的api,不过不要细扣,里面有的是极其生僻的,大多数还是有用的。所以说,刚开始接触的,先跑个登录页面,或者添加页面试试,然后根据xml中的标签去文档中找,慢慢的就熟悉了。


这个倒是晓得,不过,我下载了之后发现里面都是些类?
我想指的的 .xml 配置文件,准确的说,也不是什么配置文件详解,而是告诉像一个api告知大众都有哪些类一样,希望有一个帮助文档,告知我有什么样的配置文件标签 ... 

请问,你知道这方面的信息么?

先在这里谢过了 ...

是的呀,官方文档里都有哦。

热点排行