jsp代码:
input.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'test.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<form action="userAction">
user info<input type="text"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>struts.xml的配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.xtu.struts2.LoginAction">
<result name="success">/result.jsp</result>
</action>
<action name="userAction" class="com.xtu.struts2.UserAction">
<result name="success">testOutput.jsp</result>
</action>
</package>
</struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
</web-app>
转到的那个处理类com.xtu.struts2.UserAction
package com.xtu.struts2;import com.opensymphony.xwork2.ActionSupport;
import com.xtu.struts2.bean.User;public class UserAction extends ActionSupport {
private User user; public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
}
public String execute() throws Exception {
// System.out.println("username:" + user.getUsername()); //这里不注释掉 要抛异常 空指针
// System.out.println("password:" + user.getPassword()); //所以肯定user是为空的
return SUCCESS;
}
}user转换类
package com.xtu.struts2.converter;
import java.util.Map;
import java.util.StringTokenizer;import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;
import com.xtu.struts2.bean.User;public class UserConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Object arg0, Class arg1) {
System.out.println("Hello1");
if(arg1 == User.class) {
System.out.println("Hello2");
String[] str = (String[])arg0;
String converterValue = str[0];
StringTokenizer tokenizer = new StringTokenizer(converterValue,":");
String username = tokenizer.nextToken();
String password = tokenizer.nextToken();
User user = new User();
user.setUsername(username);
user.setPassword(password);
System.out.println("Hello3");
return user;
}
System.out.println("HelloWorld");
return null;
};
public Object convertValue(Map<String, Object> context, Object value,
Class toType) {
System.out.println("Hello1");
if(toType == User.class) {
System.out.println("Hello2");
String[] str = (String[])value;
String converterValue = str[0];
StringTokenizer tokenizer = new StringTokenizer(converterValue,":");
String username = tokenizer.nextToken();
String password = tokenizer.nextToken();
User user = new User();
user.setUsername(username);
user.setPassword(password);
System.out.println("Hello3");
return user;
}
System.out.println("HelloWorld");
return null;
}
}并在com.xtu.struts2包下配置了 UserAction-conversion.properties
user=com.xtu.struts2.converter.UserConverter但是却得不到user对象 应该根本就没有将String转换为User对象
strut2s为2.2.3.1
input.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'test.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<form action="userAction">
user info<input type="text"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>struts.xml的配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.xtu.struts2.LoginAction">
<result name="success">/result.jsp</result>
</action>
<action name="userAction" class="com.xtu.struts2.UserAction">
<result name="success">testOutput.jsp</result>
</action>
</package>
</struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
</web-app>
转到的那个处理类com.xtu.struts2.UserAction
package com.xtu.struts2;import com.opensymphony.xwork2.ActionSupport;
import com.xtu.struts2.bean.User;public class UserAction extends ActionSupport {
private User user; public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
}
public String execute() throws Exception {
// System.out.println("username:" + user.getUsername()); //这里不注释掉 要抛异常 空指针
// System.out.println("password:" + user.getPassword()); //所以肯定user是为空的
return SUCCESS;
}
}user转换类
package com.xtu.struts2.converter;
import java.util.Map;
import java.util.StringTokenizer;import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;
import com.xtu.struts2.bean.User;public class UserConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Object arg0, Class arg1) {
System.out.println("Hello1");
if(arg1 == User.class) {
System.out.println("Hello2");
String[] str = (String[])arg0;
String converterValue = str[0];
StringTokenizer tokenizer = new StringTokenizer(converterValue,":");
String username = tokenizer.nextToken();
String password = tokenizer.nextToken();
User user = new User();
user.setUsername(username);
user.setPassword(password);
System.out.println("Hello3");
return user;
}
System.out.println("HelloWorld");
return null;
};
public Object convertValue(Map<String, Object> context, Object value,
Class toType) {
System.out.println("Hello1");
if(toType == User.class) {
System.out.println("Hello2");
String[] str = (String[])value;
String converterValue = str[0];
StringTokenizer tokenizer = new StringTokenizer(converterValue,":");
String username = tokenizer.nextToken();
String password = tokenizer.nextToken();
User user = new User();
user.setUsername(username);
user.setPassword(password);
System.out.println("Hello3");
return user;
}
System.out.println("HelloWorld");
return null;
}
}并在com.xtu.struts2包下配置了 UserAction-conversion.properties
user=com.xtu.struts2.converter.UserConverter但是却得不到user对象 应该根本就没有将String转换为User对象
strut2s为2.2.3.1
解决方案 »
- 一个很奇怪的循环
- 怎样将由HTML编写的静态网页变成动态的
- axis1.4 webserice报 faultCode{http://schemas.xmlsoap.org/soap/envelope/}: Server.
- 文件拖动问题
- 一个我自己都不知道该怎么问的问题,希望我能说明白!TOMCAT4.1+JDK1.4.2+ORA8I
- tomcat5.5安装之后不能正常启动,日志里报stderr、stdout错误,请指教!
- 帮帮我sql语言中,如何防止在表单里输入',等符号,执行jsp语句时报错的原因
- jsp获取文本域中内容为图片地址,在jsp页面显示图片
- 在jsp中如何判断传来的字符串是8859-1编码还是gb2312编码方式
- struts2标签 日期比较
- 请教一个问题,关于查询的!
- 谁用过这个toptrack.tools.JQueryBase;包
user info<input type="text"/>改成user info<input type="text" name="user"/>