山大王1985 2015-01-21 06:44 采纳率: 0%
浏览 1706

求助一个vb.net无法向NVelocity模板引擎传递参数的问题

我没找到vb.net的资料就用C#的翻译成了下面vb.net代码,我是想把一个类的实例作为参数传给模板,但模板并未收到son的数据,请各位前辈帮忙看看,字符串类型和数值类型都以传递,唯独类的实例不可以传递,代码如下:
person类代码:

 Public Class person
    Public name As String
    Public age As Integer
End Class

html模板代码:

 <html>
<head>
    <title>无标题页</title>
</head>
<body>
$p.name
</body>
</html>

服器端ashx代码:

     context.Response.ContentType = "text/html"
        Dim son As New person
        son.name = "yxk"
        son.age = 123

        '创建模板类
        Dim vltengine As VelocityEngine
        vltengine = New VelocityEngine()
        vltengine.SetProperty(RuntimeConstants.RESOURCE_LOADER, "file")
        vltengine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/模板")) '模板文件所在的文件夹
        vltengine.Init()

        '设置参数
        Dim vltcontext As VelocityContext
        vltcontext = New VelocityContext() 
        vltcontext.Put("p", son) '设置参数,在模板中可以通过$data来引用

        Dim vlttemplate As Template
        vlttemplate = vltengine.GetTemplate("htmlmb2.htm")
        Dim vltwriter As System.IO.StringWriter
        vltwriter = New System.IO.StringWriter()
        vlttemplate.Merge(vltcontext, vltwriter)

        Dim html As String
        html = vltwriter.GetStringBuilder().ToString()
        context.Response.Write(html) 
  • 写回答

2条回答

  • 娃都会打酱油了 2015-01-22 02:10
    关注

    好吧,我又看到你了,貌似必须属性才能被认出来,你将Person声明为下面的这种写法就能认出来了

     Public Class Person
        Dim _name As String
        Public Property Name() As String
            Get
                Return _name
            End Get
            Set(ByVal value As String)
                _name = value
            End Set
        End Property
    
    
        Public age As Integer
    End Class
    
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题