在springMVC中的Controller层中怎么获取页面中的input中用户输入的值

在springMVC中的Controller层中怎么获取页面中的input中用户输入的值,第1张

在springMVC中的Controller层中获取页面中的input中用户输入的值的方法

后台在采集jsp页面表单里面的数据时没有用到传统的requestgetParameter(),而是在controller的传入参数多了几个对象。

import javautilMap;

import javaxservlet>

import javaxservlet>

import orgspringframeworkstereotypeController;

import orgspringframeworkwebbindannotationRequestMapping;

import orgspringframeworkwebservletModelAndView;

import comzylnonglinbaseBaseController;

import comzylnonglinbaseentityVacate;

@Controller

@RequestMapping(value="/admin/qingjia")

public class VacateController extends BaseController{

/

 跳转到请假页面

 @param req

 @param resp

 @return

/

@RequestMapping(value="/toVacate")

public ModelAndView toVacate(>

Map<String,Object> context = getRootMap();

return forword("/qingjia/vacate", context);

}

/

 提交请假信息

 @param vacate

 @param req

 @param resp

/

@RequestMapping(value="/addVacate")

public void addVacate(Vacate vacate,>

Systemoutprintln(vacategetClassNum());//

Systemoutprintln(vacategetReason());

Systemoutprintln(vacategetsName());

Systemoutprintln(vacategetsNum());

Systemoutprintln(vacategetsPhone());

}

}

Spring MVC:

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts2等。

定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK15及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

package commikan;

import javalangannotation;

/

 @author Mikan

 @date 2015-08-04 23:39

/

@Target(ElementTypePARAMETER)

@Retention(RetentionPolicyRUNTIME)

@Documented

public @interface Param {

String value();

}

获取注解中的参数名的工具类:

package commikan;

import javalangannotationAnnotation;

import javalangreflectMethod;

/

 @author Mikan

 @date 2015-08-05 00:26

/

public class ParameterNameUtils {

/

 获取指定方法的参数名

 @param method 要获取参数名的方法

 @return 按参数顺序排列的参数名列表

/

public static String[] getMethodParameterNamesByAnnotation(Method method) {

Annotation[][] parameterAnnotations = methodgetParameterAnnotations();

if (parameterAnnotations == null || parameterAnnotationslength == 0) {

return null;

}

String[] parameterNames = new String[parameterAnnotationslength];

int i = 0;

for (Annotation[] parameterAnnotation : parameterAnnotations) {

for (Annotation annotation : parameterAnnotation) {

if (annotation instanceof Param) {

Param param = (Param) annotation;

parameterNames[i++] = paramvalue();

}

}

}

return parameterNames;

}

}

测试类:

package commikan;

import javalangreflectMethod;

import javautilArrays;

/

 @author Mikan

 @date 2015-08-04 23:40

/

public class ParameterNameTest {

public void method1(@Param("parameter1") String param1, @Param("parameter2") String param2) {

Systemoutprintln(param1 + param2);

}

public static void main(String[] args) throws Exception {

Class<ParameterNameTest> clazz = ParameterNameTestclass;

Method method = clazzgetDeclaredMethod("method1", Stringclass, Stringclass);

String[] parameterNames = ParameterNameUtilsgetMethodParameterNamesByAnnotation(method);

Systemoutprintln(ArraystoString(parameterNames));

}

}

@Resource("这里写bean的ID或者Name") 如果你的bean也是通过annotation注解的 加入是@Service 那你就这么写@Service("这里就是bean的ID")

import javalangannotationRetention;

import javalangannotationRetentionPolicy;

@Retention(value=RetentionPolicyRUNTIME)

public @interface MyAnnotation {

String name();

}

public class AnnonTestA {

public void methodA(){

}

@MyAnnotation(name="111")

public void methodA(String a) throws Exception{

AnnonTestBmethodB("methodA",Stringclass);

}

}import javalangannotationAnnotation;

import javalangreflectMethod;

public class AnnonTestB {

public static void methodB(String methodName, Class<> parameterTypes) throws Exception {

AnnonTestA annonTestA = new AnnonTestA();

// 获取AnnotationTest2的Class实例

Class<AnnonTestA> c = AnnonTestAclass;

// 获取需要处理的方法Method实例

Method method = cgetMethod(methodName, parameterTypes);

Method[] methods = cgetMethods();

// 判断该方法是否包含MyAnnotation注解

if (methodisAnnotationPresent(MyAnnotationclass)) {

// 获取该方法的MyAnnotation注解实例

MyAnnotation myAnnotation = method

getAnnotation(MyAnnotationclass);

// 执行该方法

// methodinvoke(annonTestA, "12345");

// 获取myAnnotation

String value1 = myAnnotationname();

Systemoutprintln(value1);

}

// 获取方法上的所有注解

Annotation[] annotations = methodgetAnnotations();

for (Annotation annotation : annotations) {

Systemoutprintln(annotation);

}

}

}import javaio;

import javalangannotationAnnotation;

import javalangreflectMethod;

public class TestString {

public static void main(String[] args) throws Exception {

AnnonTestA annonTestA = new AnnonTestA();

annonTestAmethodA("123");

}

}

代码都给上了,不明白再追问吧。

参考地址:>

以上就是关于在springMVC中的Controller层中怎么获取页面中的input中用户输入的值全部的内容,包括:在springMVC中的Controller层中怎么获取页面中的input中用户输入的值、java 注解处理器(AbstractProcessor) 获取到 指定注解的属性值 javapoet 如何使用这个值生成类、Java如何获取方法参数的参数名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9556149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存