GVKun编程网logo

Spring MVC控制器返回HTML(spring mvc返回页面)

13

对于SpringMVC控制器返回HTML感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍springmvc返回页面,并为您提供关于ajax–返回JSON或部分html的ASP.NETMVC控制器

对于Spring MVC控制器返回HTML感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍spring mvc返回页面,并为您提供关于ajax – 返回JSON或部分html的ASP.NET MVC控制器操作、asp.net – 从MVC控制器返回不同的视图、asp.net-mvc – $.ajax发布到MVC控制器返回内部服务器错误:参数字典包含空条目、asp.net-mvc – 从asp.net mvc控制器返回一个js文件的有用信息。

本文目录一览:

Spring MVC控制器返回HTML(spring mvc返回页面)

Spring MVC控制器返回HTML(spring mvc返回页面)

我在尝试将HTML返回到Spring MVC控制器时遇到问题。

看起来像这样:

@RequestMapping(value = QUESTION_GROUP_CREATE_URL, method = RequestMethod.POST)public@ResponseBodyString createQuestionGroup(@RequestBody JsonQuestionGroup questionGroup, HttpServletResponse response) {    // questionGroup - this comes OK.    response.setContentType("text/html");    response.setCharacterEncoding("UTF-8");    return "<div></div>";}

我的Spring配置:

<bean id="contentNegotiationManager">    <property name="favorPathExtension" value="false"/>    <property name="favorParameter" value="true"/>    <property name="mediaTypes">        <value>            json=application/json            xml=application/xml            html=application/html        </value>    </property></bean>

我看到萤火虫的响应即将来临:{"String":"<div></div>"}我如何告诉该方法向我发送纯HTML作为响应?

答案1

小编典典

像这样更改您的Spring配置:html=text/html并添加produces =MediaType.TEXT_HTML_VALUE到您的@RequestMapping注释中。

ajax – 返回JSON或部分html的ASP.NET MVC控制器操作

ajax – 返回JSON或部分html的ASP.NET MVC控制器操作

我试图创建控制器操作,将返回JSON或部分html依赖于一个参数。什么是最好的方式来获取结果返回到一个MVC页面异步?
在您的action方法中,返回Json(object)以将JSON返回到您的网页。
public ActionResult SomeActionMethod() {
  return Json(new {foo="bar",baz="Blech"});
}

然后只需使用Ajax调用action方法。您可以使用ViewPage中的辅助方法之一,如

<%= Ajax.ActionLink("SomeActionMethod",new AjaxOptions {OnSuccess="somemethod"}) %>

SomeMethod将是一个javascript方法,然后评估返回的Json对象。

如果你想返回一个纯字符串,你可以只使用ContentResult:

public ActionResult SomeActionMethod() {
    return Content("Hello World!");
}

ContentResult默认返回一个text / plain作为它的contentType。
这是可重载的,所以你也可以做:

return Content("<xml>This is poorly formatted xml.</xml>","text/xml");

asp.net – 从MVC控制器返回不同的视图

asp.net – 从MVC控制器返回不同的视图

我有一个MVC应用程序,其SharedLayout视图(母版页)为用户提供搜索功能.他们可以通过订单号或按号码搜索他们的订单.因此共享视图和文本框有两个选项按钮.代码有点像这样

@using (Html.BeginForm("Track","Tracking",FormMethod.Post))
        {
            <div>
                <textarea cols="20" id="txtNo" name="txtOrderNo" rows="2" ></textarea>
            </div>
            <div>
                <input type="radio" name="optOrderNo" checked="checked" value="tracking" />Order No                    <input type="radio" name="optRefNo" value="tracking" />Ref No
            </div>
            <div>
                <input type="submit" value="Track" />
            </div>
        }

所以它将转到TrackingController和Track Method并返回视图.它适用于单个搜索,因为View与控制器的方法相关联.它工作正常但我怎么能有条件地返回基于单选按钮选择的其他视图.

我想出的就是这个

[HttpPost]
    public ActionResult Track(FormCollection form)
    {
        string refNo = null;
        if (form["optRefNo"] == null)
        {
            string OrderNo = form["txtOrderNo"];
            var manager = new TrackingManager();
            var a = manager.ConsignmentTracking(OrderNo);
            var model = new TrackingModel();
            if (OrderNo != null)
                model.SetModelForConsNo(a,consNo);
            return View(model);
        }

        refNo = form["txtConsNo"];
        return TrackByRef(refNo);
    }

    public ActionResult TrackByRef(string refNo)
    {
       //what ever i want to do with reference no
        return View();
    }

请指导.
谢谢

解决方法

View有一个重载,第一个参数是一个字符串.这是您要使用的视图的名称(或路径),而不是默认值(这是与操作名称匹配的视图).

public ActionResult TrackByRef(string refNo)
{
   //what ever i want to do with reference no
    return View("Track");
   // or,if you want to supply a model to Track:
   // return View("Track",myModel);
}

asp.net-mvc – $.ajax发布到MVC控制器返回内部服务器错误:参数字典包含空条目

asp.net-mvc – $.ajax发布到MVC控制器返回内部服务器错误:参数字典包含空条目

参数字典包含非可空类型’system.int32’的参数’appId’的空条目,用于’HLIT_TicketingMVC.Controllers.TicketController’中的方法’System.Web.Mvc.ContentResult CheckForInstaller(Int32)’.可选参数必须是引用类型,可空类型,或者声明为可选参数.

function SubmitAjax(url,message,successFunc,errorFunc) {
  $.ajax({
    type:'POST',url:url,data:message,contentType: 'application/json; charset=utf-8',dataType: 'json',success:successFunc,error:errorFunc
  });
};

数据对象构建如下:

var message={"appId":application.val()};

我也尝试了一个jsonified字符串:

var message="{'appId':"+application.val()+"}";

var message="{'appId':'"+application.val()+"'}";

我在尝试发布之前验证了消息是否带有正确的int值.鼠标在调试器上最近显示:{appId =“6”}

控制器上的方法签名是:

public ContentResult CheckForInstaller(int appId)

当我从方法签名中删除参数时,它确实触及了内部的断点,所以它是需要某种属性的签名,或者我认为消息没有正确构建.

最佳答案
删除这个:

contentType: 'application/json; charset=utf-8',

MVC不会将JSON解析为int.您需要application / x-www-form-urlencoded的默认值.

asp.net-mvc – 从asp.net mvc控制器返回一个js文件

asp.net-mvc – 从asp.net mvc控制器返回一个js文件

大家好,程序员

我想为我的应用程序中的每个MVC设置一个单独的js文件

/Controllers/
    -TestController.cs
/Models/
/Views/
    /Test/
        -Index.aspx
        -script.js

而且我想将js包含在Index.aspx中

<script type="text/javascript" src="<%=UriHelper.GetBaseUrl()%>/Test/Js"></script>

或者更简单一点,当我在浏览器中调用http://localhost/Test/Js时,它会显示script.js文件

如何在Controller中编写Action?我知道这必须用返回File方法完成,但我还没有成功创建方法:(

解决方法

怎么样:
public FileContentResult Js()
    {
        return File(System.IO.File.ReadAllBytes(Server.MapPath("/Test/script.js")),"text/javascript");
    }

我将补充说你真的应该把你的脚本放在你的Content文件夹下,因为MVC完全是关于上面的约定配置,并试图用你的视图放置脚本你违反惯例.

今天关于Spring MVC控制器返回HTMLspring mvc返回页面的分享就到这里,希望大家有所收获,若想了解更多关于ajax – 返回JSON或部分html的ASP.NET MVC控制器操作、asp.net – 从MVC控制器返回不同的视图、asp.net-mvc – $.ajax发布到MVC控制器返回内部服务器错误:参数字典包含空条目、asp.net-mvc – 从asp.net mvc控制器返回一个js文件等相关知识,可以在本站进行查询。

本文标签: