在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如何获取方法参数的参数名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)