Почему разница в атрибуте имени элемента HTML влияет на значение переменной в сервлете? - PullRequest
1 голос
/ 03 апреля 2020

Я пытаюсь выучить сервлеты и столкнулся с проблемой. Когда я использую тире или подчеркивание в атрибуте имени элемента HTML, значение, которое получает сервлет, равно нулю. Однако, если я не использую подчеркивания или тире, сервлет получает введенное значение.

<input type="text" name="labourUnionFee" id="labour-union-fee" value="0">
String labourUnionFee = request.getParameter("labourUnionFee");

работает нормально, и результат можно увидеть отсюда вывод первого фрагмента , тогда как

<input type="text" name="labour-union-fee" id="labour-union-fee" value="0">
String labourUnionFee = request.getParameter("labour-union-fee");

не возвращает никакого значения, когда нажата кнопка «отправить», поскольку на этом рисунке показан вывод второго фрагмента

Почему это происходит?

РЕДАКТИРОВАТЬ

Я, вероятно, должен был упомянуть, что я также использую функцию AJAX:

function getNetSalary() {
        $("#submitButton").click(function(){
                $.ajax({
                        url:'someservlet',
                        data: {
                            labourUnionFee: $('#labour-union-fee').val()
                        },
                        type: 'POST',
                        cache: false,
                        success: function(data){
                            $('#net-salary-information-div').text(data);
                        },
                        error: function(){
                            alert('Please Fill all necessary fields');
                        }
                    }
                );
            }
        );

И это внутри моего "someservlet" :

String labourUnionFee = request.getParameter("labour-union-fee");
    response.setContentType("text/plain");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write(labourUnionFee);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...