我的struts.xml文件:
<struts>
<package name="struts2" extends="struts-default" >
<action name="userAction" class="action.UserAction">
<result name="success">/loginSuccess.jsp</result>
</action>
</package>
</struts>
我的UserAction文件:package action;
import com.opensymphony.xwork2.ActionSupport;
import entity.User;
public class UserAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private User user; public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
} @Override
public String execute() throws Exception{
System.out.println("userName:"+user.getUserName());
System.out.println("userPassword:"+user.getUserPassword());
return SUCCESS;
}
}login.jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ taglib prefix="s" uri ="/struts-tags" %>
<html>
<head><title>类型转换器</title></head>
<body>
<h1>使用逗号隔开用户名和密码信息</h1>
<form action="userAction" method="post" >
userinfo:<input type="text" name="user"><br>
<input type="submit" value="submit">
</form>
</body>
</html>loginSuccess.jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ taglib prefix="s" uri ="/struts-tags" %>
<html><body>
<s:property value="user" />
</body>
</html>
其他的文件要看么?我放下面吧
<struts>
<package name="struts2" extends="struts-default" >
<action name="userAction" class="action.UserAction">
<result name="success">/loginSuccess.jsp</result>
</action>
</package>
</struts>
我的UserAction文件:package action;
import com.opensymphony.xwork2.ActionSupport;
import entity.User;
public class UserAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private User user; public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
} @Override
public String execute() throws Exception{
System.out.println("userName:"+user.getUserName());
System.out.println("userPassword:"+user.getUserPassword());
return SUCCESS;
}
}login.jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ taglib prefix="s" uri ="/struts-tags" %>
<html>
<head><title>类型转换器</title></head>
<body>
<h1>使用逗号隔开用户名和密码信息</h1>
<form action="userAction" method="post" >
userinfo:<input type="text" name="user"><br>
<input type="submit" value="submit">
</form>
</body>
</html>loginSuccess.jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ taglib prefix="s" uri ="/struts-tags" %>
<html><body>
<s:property value="user" />
</body>
</html>
其他的文件要看么?我放下面吧
解决方案 »
- Java
- 请问在BEAN的struts-tags如何嵌套自己的标签和EL表达式?
- string 转成 dom 方法返回空值null
- 结束java程序的问题
- 关于spring hibernate osworkflow 整合的问题
- 请问在WebLogic7中能否嵌套使用UserTransaction
- 我用的是TOMCAT5.0,servlet编译生成的字节码文件要放在哪个目录下才能正常运行?
- 最近闲来无事,想作个俄罗斯方块尝试一下! 求一份源代码参考参考
- easyui,有关前台利用js来获取后台的json对象,展示结果问题,在线等,真的很急很急。
- 贴了几个论坛,发现没人能解决这个问题
- 求助 JSP->Service->DAO(hibernate)->DB
- he content of element type "set" must match (领分)
package util;
import java.util.Map;
import java.util.StringTokenizer;
import entity.User;
import ognl.DefaultTypeConverter;
public class UserConverter extends DefaultTypeConverter {
public Object convertValue(Map context,Object value,Class toType){
if(toType == User.class)
{
String[] str=(String[])value;
String firstValue=str[0];
StringTokenizer st=new StringTokenizer(firstValue,";");
String userName=st.nextToken();
String userPassword=st.nextToken();
User user=new User();
user.setUserName(userName);
user.setUserPassword(userPassword);
return user;
}else if(toType==String.class){
User user=(User)value;
String userName=user.getUserName();
String userPassword=user.getUserPassword();
String userInfo="userName:"+userName+",userPassword:"+userPassword;
return userInfo;
}
return null;
}
}
UserAction-converter.properties文件:user=util.UserConverter后面这两个就不用看了吧。。
User.java:public class User {
private String userName;
private String userPassword;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
}
web.xml配置:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
该有的jar包也都引进去了啊,为什么会发出错误呢?错误信息具体如下:HTTP Status 404 - No result defined for action action.UserAction and result input--------------------------------------------------------------------------------type Status reportmessage No result defined for action action.UserAction and result inputdescription The requested resource (No result defined for action action.UserAction and result input) is not available.
--------------------------------------------------------------------------------Apache Tomcat/7.0.29
你user是个对象
entity.User@2d17c254 我还要怎么改呢?
entity.User@2d17c254 我还要怎么改呢?
public class MyConverter extends StrutsTypeConverter {
public Object convertFromString(Map context, String[] values, Class toClass) {
.....
} public String convertToString(Map context, Object o) {
.....
}
}
private String name;public void setName(String name){
user.setUserName(name);
}
public String getName(){
return user.getUserName();
}
这样写了以后 你jsp里写input name=name 传入的是String参数 到了action 会调用 get方法 记住struts是通过你name的名字直接找到set方法的而不是通过属性名,这样调用了set之后 会set到user对象里
想取user对象中的userName???这种写法行不通.直接在action里写set/get吧.