重新加载页面上的Servlet请求参数

时间:2016-06-18 21:16:56

标签: jsp servlets

我的网页上有本地化,其网址为: http://localhost:8086/patient/order?action=registeredTab 但是当我改变语言时,它会重新加载和动作消失,我会得到以下网址: http://localhost:8086/patient/order?language=ru 。当我改变语言时,如何在我的网址中保存操作?我正在使用jsp和servlets



<form>
        <select id="language" name="language" style="background-color: #003399; color: #f2f2f2" onchange="submit()">
          <option value="en" ${language == 'en' ? 'selected' : ''}>English</option>
          <option value="ru" ${language == 'ru' ? 'selected' : ''}>Русский</option>
          <option value="es" ${language == 'es' ? 'selected' : ''}>Español</option>
        </select>
      </form>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

制作用于国际化的seprate servlet,然后在末尾附加下面给出的代码

String previousURL = request.getHeader("referer");
response.sendRedirect(previousURL);

现在通过较小的更改复制过去的代码,即添加动作以形成标记

<form action="changeLanguage">
    <select id="language" name="language" style="background-color: #003399; color: #f2f2f2" onchange="submit()">
      <option value="en" ${language == 'en' ? 'selected' : ''}>English</option>
      <option value="ru" ${language == 'ru' ? 'selected' : ''}>Русский</option>
      <option value="es" ${language == 'es' ? 'selected' : ''}>Español</option>
    </select>
</form>

你完成了......

但请记住,changeLanguage servlet应该只是改变语言,如果它没有做任何其他事情就更好....