注册 登录
编程论坛 J2EE论坛

求个eclipse下开发struts的小问题

evollock 发布于 2007-09-17 21:36, 873 次点击

新学习用myeclipse开发struts

第一个就把我郁闷了。。。 HelloAction.java

package com.yourcompany.struts.action;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.MessageResources;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.yourcompany.struts.form.HelloForm;

/**
* MyEclipse Struts
* Creation date: 09-17-2007
*
* XDoclet definition:
* @struts.action path="/hello" name="helloForm" input="/form/hello.jsp" scope="request" validate="true"
*/
public class HelloAction extends Action {
/*
* Generated Methods
*/

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception {
MessageResources messages=getResources(request);
ActionMessages errors=new ActionMessages();
String userName=(String)((HelloForm)form).getUserName();
String badUserName="Monster";
if(userName.equalsIgnoreCase(badUserName))
{
errors.add("username",new ActionMessage("hello.dont.talk.to.monster,badUserName"));
saveErrors(request,errors);
return(new ActionForward(mapping.getInput()));
}
PersonBean pb=new PersonBean();
pb.setUserName(userName);
pb.saveToPersistentStore();

request.setAttribute(Constants.PERSON_KEY, pb);
request.removeAttribute(mapping.getAttribute());
return(mapping.findForward(SayHello));



}
}
以上代码又颜色的myeclipse都说cannot be resolved,我是一点点按书上来写的,请问下是什么问题,还需要导入什么吗?

还有就是怎么创建模型组件PersonBean.java...我找了半天没找到地方。。。我用的是myeclipse6.0 struts1.1(孙姐姐那本)

6 回复
#2
evollock2007-09-17 21:59
帅哥们现身啊。。。我等的花都谢了。。。
#3
netstriker2007-09-18 08:52

书不一定全对的,尽信书不如无书~,搞编程,书只是一个参考,真理都要自己动手实践出来的~呵呵

package com.yourcompany.struts.action;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.MessageResources;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.yourcompany.struts.form.HelloForm;

* MyEclipse Struts
* Creation date: 09-17-2007
*
* XDoclet definition:
* @struts.action path="/hello" name="helloForm" input="/form/hello.jsp" scope="request" validate="true"
*/
public class HelloAction extends Action {
/*
* Generated Methods
*/

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception {
MessageResources messages=getResources(request);
ActionMessages errors=new ActionMessages();
String userName=(String)((HelloForm)form).getUserName();
String badUserName="Monster";
if(userName.equalsIgnoreCase(badUserName))
{
errors.add("username",new ActionMessage("hello.dont.talk.to.monster,badUserName"));
saveErrors(request,errors);<--这里的saveErrors(HttpServletRequest request , ActionErrors erros)
函数的定义是这样的,很明显后面的参数是一个ActionMessages类型是有问题.
return(new ActionForward(mapping.getInput()));
}
PersonBean pb=new PersonBean(); //这里如果说是cannot be resolved,应该没有导入相应类的包~,检查一下
pb.setUserName(userName);
pb.saveToPersistentStore();

request.setAttribute(Constants.PERSON_KEY, pb); //还有,Constants.PERSON_KEY,看名字应该是自己定
//义的一个类吧~所以要找到这一个类的包
request.removeAttribute(mapping.getAttribute());
return(mapping.findForward(SayHello)); //这里的SayHello,应该是mapping.findForward
("SayHello"),否则就不能解释什么是SayHello~
}
}


[此贴子已经被作者于2007-9-18 8:58:31编辑过]

#4
evollock2007-09-18 12:08
谢谢楼上的朋友了。。我在仔细研究一下
#5
bjtusq2007-09-18 17:06

赶紧楼主有点太急了
编程要循序渐进

#6
evollock2007-09-18 17:48
我是光看理论没有实践啊。。理论暂时不能深入了啊。。得用实践巩固一下。。结果出现的问题就可以改了。。
#7
风月_无边2007-09-18 18:21
沒關系﹐慢慢來﹗
1