struts2-从页面表单提交数据时,为啥没有经过类型转换类?求解

问题描述

从页面表单提交数据时,为啥没有经过类型转换类?求解
在进行类型转换测试时发现,在从页面提交参数到后台时,并没有进过我配置的类型转换器,但在将后台类中的属性输出到页面上时,经过了类型转换器。
有没有哪位骚年能指出错在哪里?

struts.xml的配置内容
<?xml version=""1.0"" encoding=""UTF-8""?>
<!DOCTYPE struts PUBLIC
-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""
http://struts.apache.org/dtds/struts-2.3.dtd"">

   <action name=""LoginAction"" class=""com.st.action.LoginAction"">       <result name=""success"">/result.jsp</result>   </action>

接受页面传过来的参数的是Customer类
public class Customer
{
private String username;
private String password;
private int age;
public String getUsername() {
System.out.println(""从customer中取值username"");
return username;
}
public void setUsername(String username) {
System.out.println(""往customer中赋值username"");
this.username = username;
}
public String getPassword() {
System.out.println(""从customer中取值password"");
return password;
}
public void setPassword(String password) {
System.out.println(""往customer中赋值password"");
this.password = password;
}
public int getAge() {
System.out.println(""从customer中取值age"");
return age;
}
public void setAge(int age) {
System.out.println(""往customer中赋值age"");
this.age = age;
}

}

Action类中存放的是Customer类型的属性
public class LoginAction extends ActionSupport
{
private Customer ct;

public Customer getCt()
{
System.out.println(""从Action中取值"");
return ct;
}

public void setCt(Customer ct)
{
System.out.println(""给Action中的属性赋值"");
this.ct = ct;
}

@Override
public String execute()
{
System.out.println(""execute is invoked"");
return SUCCESS;
}

@Override
public void validate() {
System.out.println(""validate is invoked"");
}

}

下方是我的类型转换器的代码

public class CustomerConverter extends DefaultTypeConverter
{
@Override
public Object convertValue(Map context Object value Class toType)
{
System.out.println(toType.getName());
if(Customer.class==toType)
{
System.out.println(""外转内"");
String[] str = (String[])value;
String username = str[0];
String password = str[1];
int age = Integer.parseInt(str[2]);
Customer ct = new Customer();
ct.setUsername(username);
ct.setPassword(password);
ct.setAge(age);
return ct;
}
else if(String.class==toType)
{

System.out.println(toType.getName());
System.out.println(""内转外"");
Customer ct1 = (Customer)value;
String username = ct1.getUsername();
String password = ct1.getPassword();
String age = String.valueOf(ct1.getAge());
String info = ""username is ""+username+"" password is ""+password+"" age is ""+age;
return info;

}
return null;
}
}

properties文件也有配置就放在action的包中

ct=com.st.converter.CustomerConverter

提交表单后,页面输出ognl.NoConversionPossible

解决方案

此问题已解决,是由于jsp页面中input标签里的name属性值写错造成的。name的属性值要和action中的属性变量名要一样。

时间: 2024-12-23 04:09:51

struts2-从页面表单提交数据时,为啥没有经过类型转换类?求解的相关文章

jQuery Form 页面表单提交的小例子_jquery

复制代码 代码如下: <script type="text/javascript" src="${ctx}/js/jquery.form.js"></script>  <script type="text/javascript">      //创建测试实例      function createInstance() {          var options = {              succes

发送-请教用php邮件 如何实现将一个静态页面表单内容提交到指定邮箱?

问题描述 请教用php邮件 如何实现将一个静态页面表单内容提交到指定邮箱? 请教用php邮件 如何实现将一个静态页面表单内容提交到指定邮箱? 补充(就是一个普通静态页面 点提交就可以发送内容到一个邮箱) 在线等 谢谢大神了 解决方案 你可以试一下phpmailer拓展.邮件的内容可以自定义,使用php的file_get_contents或取你要发送的文件内容. 解决方案二: 可以使用email扩展 我的blog里面有简单介绍 <?php require("email/class.phpma

asp.net实现取消页面表单内文本输入框Enter响应的方法_实用技巧

本文实例讲述了asp.net实现取消页面表单内文本输入框Enter响应的方法.分享给大家供大家参考,具体如下: 很早以前开发asp.net项目的时候遇到的:在一个服务器TextBox控件上按下 Enter键,页面回发刷新一遍.后来google一下,发现这是asp.net2.0为表单处理专门设置的"Enter key"功能,关于asp.net ajax表单的enter key,你可以查看这一篇<ASP.NET基于Ajax的Enter键提交问题>.前面给出链接的两篇都是叫我们怎

jquery-iframe 父页面提交子页面表单..求高手

问题描述 iframe 父页面提交子页面表单..求高手 父页面有个提交按钮,点击提交按钮后把子页面的表单用Ajax提交

magento注册页面表单验证在哪个文件里

问题描述 magento注册页面表单验证在哪个文件里 magento注册页面,输入的账号或是密码不符合规定的会弹出一条信息提醒,请问这条信息是在哪个页面上可以找到,我想把他改成中文的,一直找不到在哪里? 解决方案 在magento二次开发时,经常需要自己加一些模具,来满足自己的特定需求. 添加Block/里面的文档时,需要特别注意一些地方,其中包括在Form.php中addField的时候

正则表达式进行页面表单验证功能

一般做到注册页面的时候,当用户填完信息,都需要对他们的信息进行验证,这就要用到正则表达式,具体看下面这个例子. 效果图:(当用户填写的信息不符合规范时显示错误提示) 我只提供了html结构和js,样式你们按照自己的设计稿自己写,我是分别给正确的时候和错误的时候加了不同的class,用了不同的高度,正确是高度小,可以把提示的红字隐藏. html结构: <div id="wrap"> <h1>注册</h1> <div> <input t

jsp-表单提交数据之后,JSP页面获取不到,这是什么问题呢?

问题描述 表单提交数据之后,JSP页面获取不到,这是什么问题呢? <from action="research.jsp" method="post"> 请输入你的id号:<input type="text" name="id"><br> <input type="submit" value="提交"> </from> <b

java web项目中jsp页面表单提交给servlet 然后显示空白页面

问题描述 java web项目中jsp页面表单提交给servlet 然后显示空白页面 经检查 servlet没问题 全查可以用 不知道什么原因 求解答 解决方案 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈解决了 解决方案二: jsp页面显示空白

php-我想使用这个表单提交数据到数据库,如何配置ajax参数,我租的WEB空间是PHP的

问题描述 我想使用这个表单提交数据到数据库,如何配置ajax参数,我租的WEB空间是PHP的 我想使用这个表单提交数据到数据库,如何配置ajax和PHP相关参数,我租的WEB空间是PHP的,我要实现的目的是收集报名信息,数据库能查询即可.当点击页面提交的时候,会弹出信息:您已经报名成功!稍后会有助教与您联系"我好久都没有接触层序了,好久都没有上来了,这里因页面需要现改模板网页,却不知道如何配置.没有分了,没办法给分,对不起!拜托懂得朋友帮忙指点指点.非常感谢 <td align="