首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用thyemeleaf发布输入字符串值?

如何使用thyemeleaf发布输入字符串值?
EN

Stack Overflow用户
提问于 2017-11-16 03:38:05
回答 2查看 707关注 0票数 0

我的项目基于spring、Thymeleaf、mysql、html和Jquery。

我试图将输入的字符串数据发送到@RestController页面,但是它接收为空,这意味着null。这是我的代码细节

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<form id="addchargesformid" method="post" th:action="@{/addcharge}">  
 <!-- input box add -->
 <div class="form-group">
    <label for="chargeName">Add New Charge*</label> 
    <input th:id="chargeName" th:name="chargeName" th:value="${chargeName}" type="text" class="form-control" placeholder="Ex : Maintanence charge">
</div>
<br/>
<button th:type="submit" id="addchargebtnid" class="btn btn-info">Add New Charge</button>
</form>

@RestController

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*To Add Individual charges into list*/
@PostMapping(value="/addcharge")
public ModelAndView doAddCharge(@ModelAttribute String chargeName)
{
    ModelAndView respondResult = new ModelAndView();
    try {
        String result  = serAssignCharges.doAddCharges(chargeName);
        if(result.equals("success"))
        {
            doGetChargesList();
        }
        else {
            respondResult.addObject("warning","sorry! failed to add");
        }

    } catch (Exception e) {
        // TODO: handle exception
    }
    return respondResult;
}

请帮我解决这个问题..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-16 04:52:54

由于您不执行从该表单到模型类的任何绑定活动,并且只想传递字符串,所以尝试使用@RequestParam而不是@ModelAttribute:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public ModelAndView doAddCharge(@RequestParam("chargeName") String chargeName)
票数 2
EN

Stack Overflow用户

发布于 2017-11-16 21:56:58

我做了一个代码changes....In HTML添加

th:object="${chargeName}“

在形式中,添加输入标记

name="chargeName“

完整代码在这里

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <form id="addchargesformid" method="post" th:action="@{/addcharge}" th:object="${chargeName}">  
     <!-- input box add -->
     <div class="form-group">
        <label for="chargeNameid">Add New Charge</label> 
        <input id="chargeNameid" name="chargeName" type="text" class="form-control" placeholder="Ex : Maintanence charge">
    </div>
    <br/>
    <button th:type="submit" id="addchargebtnid" class="btn btn-info">Add New Charge</button>
    </form>

@RestController

更改@ModelAttribute到@RequestParam

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*To Add Individual charges into list*/
    @PostMapping(value="/addcharge")
    public ModelAndView doAddCharge(@RequestParam String chargeName)
    {
        ModelAndView respondResult = new ModelAndView();
        try {
            String result  = serAssignCharges.doAddCharges(chargeName);
            if(result.equals("success"))
            {
                respondResult = new ModelAndView("redirect:" + "/getchargeslist"); /*it is redirecting from
                                                                                        "/addcharge" to "/getchargeslist" */ 
            }
            else {
                respondResult.addObject("warning","sorry! failed to add");
            }

        } catch (Exception e) {
            // TODO: handle exception
        }
        return respondResult;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47328701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文