MyEclipse8下struts2开发例程及解析1文档格式.docx

上传人:b****5 文档编号:19191329 上传时间:2023-01-04 格式:DOCX 页数:9 大小:233.14KB
下载 相关 举报
MyEclipse8下struts2开发例程及解析1文档格式.docx_第1页
第1页 / 共9页
MyEclipse8下struts2开发例程及解析1文档格式.docx_第2页
第2页 / 共9页
MyEclipse8下struts2开发例程及解析1文档格式.docx_第3页
第3页 / 共9页
MyEclipse8下struts2开发例程及解析1文档格式.docx_第4页
第4页 / 共9页
MyEclipse8下struts2开发例程及解析1文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

MyEclipse8下struts2开发例程及解析1文档格式.docx

《MyEclipse8下struts2开发例程及解析1文档格式.docx》由会员分享,可在线阅读,更多相关《MyEclipse8下struts2开发例程及解析1文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

MyEclipse8下struts2开发例程及解析1文档格式.docx

Struts2框架核心类库

xwork-2.x.x.jar:

XWork类库,是Struts2的基础

ognl-2.x.x.jar:

对象图导航语言,用于读写对象属性

freemarker-2.x.x.jar:

struts2的UI标签的模板

commons-logging-1.1.x.jar:

ASF出的日志包,struts2使用它来支持Log4J和JDK的日志记录

commons-fileupload-1.x.x.jar:

文件上传组件,Struts2.1.6版本以上必须加入此文件

(2)编写Struts2的配置文件

(3)在web.xml中加入Struts2MVC框架启动配置

说了这么多,幸运的是,在MyEclipse8中,不需要手动做任何工作,就可以包括Struts2框架支持,步骤如下:

(1)创建一个webproject:

MyStruts2

(Myeclipse8.5,在New一个WebProject的时候提醒说:

"

Compilercompliancelevelofproject**shouldbe*.*.Yourcurrentworkspacedefaultis6.0.Doyouwanttouseacustomsettingforyourproject?

,大概意思是说该项目的编译器版本是*.*(5.0),而workspace当前的默认版本是6.0,是否希望为当前的项目应用一个自定义的设置。

为了以后不再出现,可以点击此对话框的Openworkspacecompilersettings或者是依次点击Window→Java→Compiler,在右侧Compilercompliancelevel中设置为相应版本即可。

这里的编译器版本建议最好是跟你代码的版本对应,不然由于引用等问题会出现兼容性错误)

(2)为工程添加Struts2框架支持,在工程名MyStruts2上右击,选择“MyEclipse/AddStrutsCapabilities...”

(3)在弹出的对话框中选择,Struts2.1

(4)点击完成后,可以看到项目目录中多了Struts2CoreLibraries文件夹,同时src自动生成了struts.xml文件

生成了一个空的struts.xml文件:

<

?

xmlversion="

1.0"

encoding="

UTF-8"

?

>

!

DOCTYPEstrutsPUBLIC"

-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN"

"

http:

//struts.apache.org/dtds/struts-2.1.dtd"

struts>

/struts>

此外:

Web-INF下的web.xml中多了以下几行(加入Struts2MVC框架启动配置):

filter>

filter-name>

struts2<

/filter-name>

filter-class>

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

/filter-class>

/filter>

filter-mapping>

url-pattern>

*.action<

/url-pattern>

--注:

应该将*.action改为/*,才能支持struts2标签-->

/filter-mapping>

/web-app>

此时,运行tomcat服务器,在浏览器中输入:

//localhost:

8080/MyStruts2/,应该能够正确显示页面,表明添加Struts2后,没有引起冲突。

总结:

在MyEclipse8中对一个项目中添加struts2支持方法非常简单,只需要进行简单设置,不用手动创建配置文件。

2.struts2简单用例

示例内容:

添加一个action,在其中处理数据,并将结果在页面上进行显示。

2.1添加一个页面,用于跳转到的位置,如result.jsp,将页面放在WEB-INF/pages/目录下,是为了保证安全,不让用户直接输入网址进入。

2.2添加action,在struts.xml源文件中右击鼠标,选择MyEclipes/NewAction...

在新弹出的“NewAction”对话框里新建一个Package,如下图所示

说明:

其中Package的name,相当于java类中的package,而Namespace是一个路径,与Action名称一起组成action的路径,在页面输入时要添加Namespace的路径。

继续添加Action的Name,Class以及Results,如下图所示:

注意:

添加Results时,类型选默认,不能选redirect,否则action将不对给页面传参数。

当然,如果需要传参,也可以通过在路径后面添加参数的方法把参数带上(见传智播客struts2.1视频教程6),如/WEB-INF/pages/result.jsp?

name=${username}。

实际上,这一步修改了struts.xml文件,即帮我们添加了如下代码:

packagename="

myactions"

namespace="

/mypath"

extends="

struts-default"

actionname="

output"

class="

com.gzzzz.OutputAction"

resultname="

success"

/WEB-INF/pages/result.jsp<

/result>

/action>

/package>

另外,上一步给我们添加了一个Output.java文件,包括OutputAction类

2.3添加代码逻辑操作,进入OutputAction类:

publicclassOutputActionextendsActionSupport{

privateStringMsg;

//添加一个变量

publicStringgetMsg(){ 

//添加getter

returnMsg;

}

/**

*@return

*/

publicStringexecute(){

//TODOAuto-generatedmethodstub

Msg="

results:

+(10+20);

//逻辑运算

returnSUCCESS;

}

2.4在result页面对msg进行显示

body>

${msg} 

//EL表达式

/body>

EL表达式的变量名,要与Action中的getMsg函数名要对应(即将Msg变为msg),而与相关变量名不必保持对应,虽然我们通常这样做。

OK,大功告成!

在浏览器出输入:

8080/MyStruts2/output.action

很不幸,出错了

还记得我们前面提到的Namespace的作用么?

哦,明白了

输入改为:

8080/MyStruts2/mypath/output.action

如下,所示,看到了我们想要的结果

参考资料

1.传智播客struts2.1视频教程

2.《javaweb开发技术大全》

MyEclipse编译不了的解决办法:

这两天MyEclipse不编译了,无论怎么更改保存,classes目录下都是空的.

在网上找了很多文章,总结如下:

MyEclipse不编译解决1.确保project->

buildautomatically已经被选上.

MyEclipse不编译解决2.如果选上了,也不好使,使用这一招:

project->

clean..->

选第2个cleanselectproject,勾上startbuildimmediatelly

MyEclipse不编译解决3.删除现在的项目,提前设置好编译文件输出路径,重新导入源文件,设置MyEclipse为保存时编译,然后在保存的时候就可以自动编译了

MyEclipse不编译解决4.如果项目里引了某个不用的jar包,而那个包又被你删了,就会出现不报错但怎么也编译不出来class文件的情况,可以把所有包都删除,然后一个一个的再引入(需要的),不要一下子把所有包都引入来,没用的可能会引起不良后果.

MyEclipse不编译解决5.想删掉某个class文件重新生成,删除class文件后,但classes目录下的文件夹被其它程序打开,比如TotalCommander。

此时编译也不会通过,在problems下可能会提示“con'

'

tdeleteclasses……”。

关掉其它程序重新编译即可。

MyEclipse不编译解决6.还有种情况是remove掉JRESystemLibrary,重新导入即可编译。

但是什么原因导致的还不清楚。

MyEclipse不编译解决7.把buildpath中所有包都remove掉。

然后又addjars,addlibraries把需要的加进去,居然又开始编译了。

MyEclipse不编译解决8.project->

properties->

javabuildpath->

source->

.../WEB-INF/src的outputfolder不要默认,编辑让它指向../WEB-INF/classes

然后重新点击build工程即可自动编译。

我的问题出在这里,我把这个编译目录给误删了

MyEclipse不编译解决9.再就是最重要的要看工程下面是否缺少了work目录,由于CVS控制时不把work加如版本,所以checkout后没有这个目录,要手工加上有的工程就能自动编译了

最开始的时候,我只找到了前面7个方法,但是他们都没有解决我的问题.无意中我打开了"

Problems"

标签,发现里面说缺少work目录,手工加上,然后刷新项目就可以了.

最后两个是我在写这个总结的时候发现的.特别是第九条,对使用CVS进行版本控制的项目比较有用.

.classpath这个xml文件要仔细看

MyEclipse不编译的解决方案就是这些了,希望对你有帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1