最简单的struts入门问题 只有我不会 80分求解 一旦解决马上结帖

nuboy 2005-03-29 07:27:27
一个简单的struts 为什么编译不过去呢 我刚学struts 对他不太了解
这个action servlet 是在在命令行里编译的 在struts里 编译方法有什么不同么
struts.jar servlet.jar 都在我的 path里了

package app;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.MessageResources;

public class RegisterAction extends Action
{
public ActionForward perform (ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res) {
// ①Cast the form to the RegisterForm
RegisterForm rf = (RegisterForm) form;
String username = rf.getUsername();
String password1 = rf.getPassword1();
String password2 = rf.getPassword2();
// ②Apply business logic
if (password1.equals(password2)) {

return mapping.findForward("success");
}
else{
return mapping.findForward("failure");
}
}
// ④Return ActionForward for failure
return mapping.findForward("failure");
}

4 个错误
错误信息大概是

illegal start of type
return mapping.findForwards<"failure">
illegal start of type
return mapping.findForwards<"failure">^
can not resolve symbol
symbol: class RegisterForm
location class app.RegisterAction
RegisterForm rf=(RegisterForm)form;


strust-config.xml文件进行配置了阿 而且 我现在是编译 action 和strust-config.xml
没什么关系把
我试过了
原来 struts的自带例子在我的机器上完全可以运型 可当我编译他的 action 的时候也出线同样的错误阿
是不是我的 sturts
配置里还差什么东西阿
给我的感觉好像 程序总是无法识别ActionMapping mapping,
ActionForm form,
这两个对象阿 好像也不知道ActionForm 这个类
但是 相对应打 ActionForm 我也和他都放在了app目录下 并且 ActionForm 也编译通过阿
...全文
219 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
demon37 2005-03-30
你多了个return mapping.findForward("failure");
改成下面的

public class RegisterAction extends Action
{
public ActionForward perform (ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res) {
// ①Cast the form to the RegisterForm
RegisterForm rf = (RegisterForm) form;
String username = rf.getUsername();
String password1 = rf.getPassword1();
String password2 = rf.getPassword2();
// ②Apply business logic
if (password1.equals(password2)) {
return mapping.findForward("success");
}else{
return mapping.findForward("failure");
}
}

}
回复
angelama 2005-03-30
版本太老了,还是perform方法,要更新换代啊!
回复
wenchaohu213 2005-03-30


用Eclipse+Eclipse-plusin

配合比较好看你的问题
回复
fdabobi 2005-03-30
if else都有return了
所以最后一个return永远不可能达到....
回复
jianghuxing 2005-03-30
还有你的 RegisterForm 类最好引一下
回复
jianghuxing 2005-03-30
package app;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.MessageResources;

public class RegisterAction extends Action
{
public ActionForward perform (ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res) {
// ①Cast the form to the RegisterForm
RegisterForm rf = (RegisterForm) form;
String username = rf.getUsername();
String password1 = rf.getPassword1();
String password2 = rf.getPassword2();
// ②Apply business logic
if (password1.equals(password2)) {

return mapping.findForward("success");
}
else{
return mapping.findForward("failure");
}
}
// ④Return ActionForward for failure
//return mapping.findForward("failure"); 此句多了 删除就好了。这调过了
}
回复
hzxbl 2005-03-30
建议用ECLIPSE+MYECLIPSE
回复
nuboy 2005-03-30
: jianghuxing(回头看看原来我一无所有)
这个程序你调过了么 能告诉我你的机器的配置么
最好能详细一点 比如环境变量什么的
还有就是编译过程
比如在命令行下输入什么命令阿

现在我肯定不是程序的问题而是 我的编译方法问题
以为 一个例子程序 应该是没问题的 我在编译的时候也出现同样的问题
cannot resolvr symbol
symbol package app
Import app.RegisterForm
cannot resolvr symbol
symmbol rf =<REgisterForm> form// 我把Import app.RegisterForm;填进了我的程序中

//如果不填那句
错误就是
cannot resolvr symbol
symmbol rf =<REgisterForm> form
谢谢阿


回复
yyri 2005-03-29
说一句也许没用的,找个IDE写吧,然后弄个easy struts,真的省事很多
回复
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2005-03-29 07:27
社区公告
暂无公告