return "user/userTariffs";
Означает отправить user на эту страницу, Вы делаете ajax запрос и контроллер ни на какую страницу юзера не отправляет. Для того, чтобы информация обновилась на странице, как Вы хотите, Вам нужно эту информацию передать из контроллера на сервере в браузер клиента в респонсе, аннотация @ResponseBody и на клиенте использую js обновить html страницу.@RequestMapping(value = "/userChangeTariff", method = RequestMethod.POST)
@ResponseBody
public Integer changeTariff(HttpServletRequest req,
@RequestParam(value = "sum") Integer sum) {
final Integer newSum = new Integer(sum+1);
req.getSession().setAttribute("userPayment", );
return newSum;
}
<div class="popover-content">
<div class="list-group">
<a href="userTariffs" class="list-group-item">
<h4 class="list-group-item-heading text-overflow">
<i class="fa fa-fw fa-envelope"></i> My scope
</h4>
<p class="list-group-item-text text-overflow">I spend <span id="user_payment_sum">${userPayment}</span> RUB per month</p>
</a>
</div>
<div style="padding:10px"><a class="btn btn-success btn-block" href="userTariffs">Show me
more...</a></div>
</div>
function popBox() {
x = confirm('Are you sure? ');
if (x == true) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
alert(xhr.responseText); //TODO test alert
document.getElementById('user_payment_sum').innerHTML =xhr.responseText;
}
}
xhr.open("POST", "userChangeTariff?sum=" + par1, false);
xhr.send();
<span id="user_payment_sum">
, в которой лежат те данные, которые мы хотим динамически менять по ajax запросу на сервер и секцию if (xhr.readyState == XMLHttpRequest.DONE) {
, которая ожидает ответ и выполняет некие действия, когда приходит респонс.<web-app>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jsp</param-value>
</context-param>
<!-- Facelets pages will use the .xhtml extension -->
<context-param>
<param-name>facelets.VIEW_MAPPINGS</param-name>
<param-value>*.xhtml</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<!-- Use prefix mapping for Facelets pages, e.g. http://localhost:8080/webapp/faces/mypage.xhtml -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
</web-app>
List<User> users
тутString output = null;
String URLstring = "http://localhost:8080/getRestInfo?contract=base";
URL url = new URL(URLstring);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("Authorization", "Basic " +
new String(new Base64().encodeBase64("b@b.ru:12345".getBytes())));
if (conn.getResponseCode() != 200) {
System.out.println("Failed : HTTP error code : "
+ conn.getResponseCode());
System.exit(1);
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
output = br.readLine();
/**
* Здесь в output переменной у Вас в output лежит json, чтобы преобразовать его в java бины нужен парсер (это называется десериализовать), наиболее популярные - Gson или Jackson
*/
Gson gson = new Gson();
Type userListType = new TypeToken<ArrayList<User>>() {}.getType();
List<User> users = gson.fromJson(output, userListType);
conn.disconnect();
System.out.println(output);
public ResponseEntity<?> userNumberOperationsDelete(HttpServletRequest req, HttpServletResponse resp, Locale locale, Model model,
@RequestParam(value = "number") String number,
@RequestParam(value = "status") String status) {
...
} else {
return new ResponseEntity<>(errorMessage, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
return new ResponseEntity<>(HttpStatus.OK);
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "contract_id")
private int contractId;
<input type="hidden" name="tariffId" value="${tempId.add(tariff.tariffId)}">
<script>
var tariffID = "${tempId.add(tariff.tariffId)}";
</script>
<script>
var array = new Array();
<c:forEach var="tariff" items="${allTariffs}" varStatus="loop">
array.push('${tempId.add(tariff.tariffId)}');
</c:forEach>
</script>
if(servletInputStream.isReady()){}
if(servletInputStream.isFinished()){}
java.sql.Date birthDate= new java.sql.Date((birthDateInput).getTime());
@Temporal(TemporalType.DATE)
private Date birthDate;
java.text.SimpleDateFormat sdf =
new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String birthDateTime = sdf.format(birthDateInput);
List<Tariff> tariffs = (List<Tariff>) session.createSQLQuery(sql).list();