本文是myeclipse帮助文档的中文简化版。 ^___^ 本人是struts初学者,如有错误请多指教。 |
开发环境: |
简介: |
开始吧 |
首先我们先建立一个j2ee的web project.如图1: |
在package explorer下,就可以看到我们的项目了,然后给这个项目添加Struts框架必要的文件.在我们项目名上点击右键,选择MyEclipes --> Add Struts Capabilities...弹出对话框图2:
其中 Struts config path就是我们的struts配置文件, URL pattern我们选择*.do, Default application resource为我们默认的资源文件地方,你可以选择它的存储位置,我们在这里保持默认。点击Finish后,项目结构类似于图3:
现在就来开始我们的例子吧。首先修改/WEB-INF/web.xml文件,为其添加标签库(在使用中发现,不添加也能成功。但为了保持书上一致,还是添加安全些。hoho~~)将下面代码添加至 </webapp> 上面:
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
完成后,打开struts-config.xml文件,点击这个界面左下角的Design进入可视化设计界面。有没有注意右边的Palette :) 点击它,让我们来开始我们的jsp页面设计。我们先建立userLoginSuccess.jsp文件,为啥先建这一个呢?等下就知道了,在myeclipse中可以一次性把我们的Action,ActionForm,Jsp文件一次建好(将三个有关联的文件等下创建)。
点击Palette面版上的创建JSP文件图标,弹出创建JSP文件面板。图4:
在File Name里输入userLoginSuccess.jsp,Template to use选择2] Standard JSP using Struts 1.1,点击Finish完成。 <%@ taglib uri="/tags/struts-html" prefix="html"%> |
OK,下面来开始我们最后三个文件的设计吧。在Struts-config.xml的Design模式中,在画版的空白区域点右键,选择New --> New Form, Action and JSP 弹出ActionForm的选项面板,我们按图上输入相关值,图5: |
在添加password时,注意将 JSP input type 下拉框选择password.
完成这步后,我们就将ActionForm设计完成。
接下来选择 Optional Details的 JSP选项卡,我们选中 Create JSP form? 这一步myeclipse将为我们创建一个简单的与用户交互的登录页面。保持内容和图7一样。图7:
因为我们这只是简单的演示一个登录片段,所以不用验证用户信息是否合法,所以将 Option Details的 method选项卡的新建方法去掉,如图8:
点Next,进入Action选项面板.将 Option Details的 Form选项卡中 Validate Form取消选择,如图9:
然后在 Forwards选项卡中点 add添加成功和失败返回的页面.如图10:
点击Finish完成。在 Struts-config.xml的 Design中,可以看到图11所示:
最后,简单的修改一下userLogin.jsp,将所有<%@ taglib ...%>替换为:
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
修改UserLoginAction中的execute片段为如下所示,图12:
OK,完成。。。下面就部暑项目,测试。。。 | ||||
像为项目添加Struts框架一样,在项目名上右击,选择MyEclipse --> Add and Remove Project development. 在弹出对话框上,单击add ,在弹出的 New Deployment 对话框上,Server选Tomcat5,点击Finish完成部署,如图13:
|
评论:
请楼主看看。
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Exception creating bean of class com.yourcompany.struts.form.UserLoginForm: {1}
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.userLogin_jsp._jspService(userLogin_jsp.java:94)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
javax.servlet.jsp.JspException: Exception creating bean of class com.yourcompany.struts.form.UserLoginForm: {1}
org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:563)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:520)
org.apache.jsp.userLogin_jsp._jspx_meth_html_form_0(userLogin_jsp.java:110)
org.apache.jsp.userLogin_jsp._jspService(userLogin_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
回复 更多评论
2 cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'. One of '{" http://java.sun.com/xml/ns/j2ee":description, " http://java.sun.com/xml/ns/j2ee":display-name, " http://java.sun.com/xml/ns/j2ee":icon, " http://java.sun.com/xml/ns/j2ee":distributable, " http://java.sun.com/xml/ns/j2ee":context-param, " http://java.sun.com/xml/ns/j2ee":filter, " http://java.sun.com/xml/ns/j2ee":filter-mapping, " http://java.sun.com/xml/ns/j2ee":listener, " http://java.sun.com/xml/ns/j2ee":servlet, " http://java.sun.com/xml/ns/j2ee":servlet-mapping, " http://java.sun.com/xml/ns/j2ee":session-config, " http://java.sun.com/xml/ns/j2ee":mime-mapping, " http://java.sun.com/xml/ns/j2ee":welcome-file-list, " http://java.sun.com/xml/ns/j2ee":error-page, " http://java.sun.com/xml/ns/j2ee":jsp-config, " http://java.sun.com/xml/ns/j2ee":security-constraint, " http://java.sun.com/xml/ns/j2ee":login-config, " http://java.sun.com/xml/ns/j2ee":security-role, " http://java.sun.com/xml/ns/j2ee":env-entry, " http://java.sun.com/xml/ns/j2ee":ejb-ref, " http://java.sun.com/xml/ns/j2ee":ejb-local-ref, " http://java.sun.com/xml/ns/j2ee":service-ref, " http://java.sun.com/xml/ns/j2ee":resource-ref, " http://java.sun.com/xml/ns/j2ee":resource-env-ref, " http://java.sun.com/xml/ns/j2ee":message-destination-ref"> http://java.sun.com/xml/ns/j2ee":message-destination-ref, " http://java.sun.com/xml/ns/j2ee":message-destination, " http://java.sun.com/xml/ns/j2ee":locale-encoding-mapping-list}' is expected. web.xml LoginDemo/WebRoot/WEB-INF line 26 2005年10月19日 15:17:04
这错误什么意思啊?
回复 更多评论
[引用提示]xxxuehao引用了该文章, 地址: http://blog.csdn.net/xxxuehao/archive/2005/11/09/526082.aspx 回复 更多评论
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
添加这段时,提示不能以taglib开始。。。尽管也能运行 回复 更多评论
Severity Description Resource In Folder Location Creation Time
2 cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'. One of '{" http://java.sun.com/xml/ns/j2ee":description, " http://java.sun.com/xml/ns/j2ee":display-name, " http://java.sun.com/xml/ns/j2ee":icon, " http://java.sun.com/xml/ns/j2ee":distributable, " http://java.sun.com/xml/ns/j2ee":context-param, " http://java.sun.com/xml/ns/j2ee":filter, " http://java.sun.com/xml/ns/j2ee":filter-mapping, " http://java.sun.com/xml/ns/j2ee":listener, " http://java.sun.com/xml/ns/j2ee":servlet, " http://java.sun.com/xml/ns/j2ee":servlet-mapping, " http://java.sun.com/xml/ns/j2ee":session-config, " http://java.sun.com/xml/ns/j2ee":mime-mapping, " http://java.sun.com/xml/ns/j2ee":welcome-file-list, " http://java.sun.com/xml/ns/j2ee":error-page, " http://java.sun.com/xml/ns/j2ee":jsp-config, " http://java.sun.com/xml/ns/j2ee":security-constraint, " http://java.sun.com/xml/ns/j2ee":login-config, " http://java.sun.com/xml/ns/j2ee":security-role, " http://java.sun.com/xml/ns/j2ee":env-entry, " http://java.sun.com/xml/ns/j2ee":ejb-ref, " http://java.sun.com/xml/ns/j2ee":ejb-local-ref, " http://java.sun.com/xml/ns/j2ee":service-ref, " http://java.sun.com/xml/ns/j2ee":resource-ref, " http://java.sun.com/xml/ns/j2ee":resource-env-ref, " http://java.sun.com/xml/ns/j2ee":message-destination-ref"> http://java.sun.com/xml/ns/j2ee":message-destination-ref, " http://java.sun.com/xml/ns/j2ee":message-destination, " http://java.sun.com/xml/ns/j2ee":locale-encoding-mapping-list}' is expected. web.xml userLogin/WebRoot/WEB-INF line 24 2006年4月7日 17:25:29
回复 更多评论
但是在/WEB-INF/web.xml文件</webapp> 上面中添加如下标签库时出现标签错误,(confing—xml视图的design中右键点击wepapp会提示元素能够增加的子元素),经实验证明也可以不添加如下标签
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
回复 更多评论