Maison  >  Article  >  Java  >  Comment le contrôleur du framework Java ssm transmet-il les paramètres à la page ?

Comment le contrôleur du framework Java ssm transmet-il les paramètres à la page ?

PHPz
PHPzavant
2023-05-15 19:22:041165parcourir

Le contrôleur ssm transmet les paramètres à la page

Utilisez Map pour transmettre les paramètres

Ajoutez un paramètre de type Map A dans la méthode du contrôleur. La paire clé-valeur B est placée dans la méthode put du paramètre A, et la paire clé-valeur B peut être obtenue dans la page

1. Le code d'arrière-plan java est écrit, et les paires clé-valeur de l'opération et de l'application sont put

@RequestMapping("/edit_form")
    public String editApplicationFormPage(Map<String, Object> map,
            HttpServletRequest request, String applicationId) {
        map.put("operation", "edit");
        Application application = applicationService
                .getApplicationById(applicationId);
        if(application.getSysBigIcon()==null||application.getSysBigIcon().equals("")){
            application.setSysBigIcon("/www/images/default.png");
        }
        if(application.getSysIcon()==null||application.getSysIcon().equals("")){
            application.setSysIcon("/www/images/default.png");
        }
        if (application != null) {
            map.put("application", application);
        }
        return "/frame/system/application/application_form";
    }

2. La page utilise les paires clé-valeur transmises depuis l'arrière-plan. La méthode utilisée est que les paires clé-valeur doivent être enveloppées avec ${}. Par exemple : ${opération} et ${application.orgId}, ${opération} est la paire clé-valeur d'opération qui fait référence à la carte d'arrière-plan mise, et ${application.orgId} est un objet qui fait référence à l'entité d'application. de la carte de fond mise.

<script type="text/javascript">
    window.WWWROOT = "${ctx}";
    window.DefaultOrgId  = "<%=user.getDefaultOrgId()%>";
    window.Operation = "${operation}";
    window.OrgId = "${application.orgId}";
    window.TaskAppId = "${application.taskAppId}";
    window.MenuType = "${application.menuType}";
</script>
            <title>${operation eq &#39;add&#39;?&#39;添加&#39;:(operation eq
                &#39;edit&#39;?&#39;编辑&#39;:&#39;查看&#39;)}应用系统</title>

Utilisez PrintWriter pour transmettre les paramètres

Écrivez du contenu sur PrintWriter. Renvoyez simplement ce contenu à la page.

1. Écriture du code d'arrière-plan

Ajoutez un rédacteur de paramètres de type PrintWrite à la méthode du contrôleur et utilisez la méthodewriter.write() pour écrire du contenu. La page peut renvoyer ce contenu. Le code est le suivant :

@RequestMapping("/add")
    public void  add(HttpServletRequest request, HttpServletResponse response,MenuRight menuRight, PrintWriter writer)
             {
        try{
            Boolean result =menuRightService.addMenuRight(menuRight);
            writer.write("{\"success\":true}");
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    writer.write("{\"success\":false}");
                }
 
    }

2. Écriture du code de la page

succès : Le résultat dans function(result) est le contenu dewriter.write() renvoyé par l'arrière-plan
  • $.ajax({
            type : &#39;POST&#39;,
            url : WWWROOT + "/menuRight/add",
            data : dat,
            success : function(result) {
                if ($.parseJSON(result).success == true) {
                    $(stId).attr("checked", true);
                } else {
                    alert("添加授权失败");
                    $(stId).attr("checked", false);
                }
            }
        });
    success : function(result)中的result就是后台返回的writer.write()中的内容

@RequestParam(value = "age",required = false)

ssm框架获取页面传递的参数

通过@RequestParam

接收名字为age的参数,且可以为空

rrreee

Comment le contrôleur du framework Java ssm transmet-il les paramètres à la page ?

通过@PathVariable

Comment le contrôleur du framework Java ssm transmet-il les paramètres à la page ?

通过@RequestBody –不适用于Get请求

Comment le contrôleur du framework Java ssm transmet-il les paramètres à la page ?

  • 1.@RequestBody 接收的是一个请求体, @RequestBody只能存在一个,接收的是所有的请求参数--一次接收完

  • 2.如果传对象或者数组必须先转为Json格式或者是纯字符串

  • 3.@RequestBody 不适合用于Get请求

接收日期类型: @DateTimeFormat@JsonFormat

  • @DateTimeFormat使用场景:页面直接传递日期格式时,直接用该注解接收;

  • @JsonFormatLe framework ssm obtient les paramètres transmis par la page

  • Reçoit le paramètre nommé age via @RequestParam

, et peut être vide

rrreee

Comment le contrôleur du framework java ssm transmet-il les paramètres à la pageComment le contrôleur du framework Java ssm transmet-il les paramètres à la page ?

via @PathVariable🎜🎜Comment le contrôleur du framework Java ssm transmet-il les paramètres à la page🎜🎜Par @RequestBody –Non applicable à Get request🎜🎜Comment le contrôleur du framework Java ssm transmet-il les paramètres à la page🎜🎜🎜🎜1. @RequestBody reçoit un Il ne peut y avoir qu'un seul corps de requête, @RequestBody, qui reçoit tous les paramètres de la requête - en même temps🎜🎜🎜🎜2 Si vous transmettez un objet ou un tableau, il doit être converti. au format Json ou à une chaîne pure d'abord🎜🎜🎜🎜3. @RequestBody ne convient pas aux requêtes Get🎜🎜🎜🎜Type de date de réception : @DateTimeFormat@JsonFormat🎜🎜🎜🎜@DateTimeFormatScénario d'utilisation : Lorsque la page transmet directement le format de date, utilisez cette annotation pour la recevoir directement ;🎜 🎜🎜🎜@JsonFormatScénario d'utilisation : Lorsque la page transmet le format de date au format Json, utilisez cette annotation pour recevoir ; Remarque spéciale : le nom de l'annotation peut être différent lors de l'utilisation de différents packages Json🎜🎜🎜🎜Utilisation : 🎜 🎜🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer